[[!FormIt? &hooks=`spam,formit2file,formit2resource,email,redirect` &emailSubject=`Nouvelle inscription Annonceurs` &emailTpl=`formItInscriptionAnnonceur` &emailTo=`[email protected]` &redirectTo=`17` &customValidators=`isSiret,isMore800,isCP` &validate=`pagetitle:required, societe_siret:required:isSiret, content:required::stripTags:isMore800, societe_adresse1:required, societe_cp:isCP, societe_ville:required, societe_tel:required, societe_email:required:email, societe_logo:required` ]]
<?php // initialize output; $output = true; // valid extensions $ext_array = array('jpg', 'jpeg', 'gif', 'png'); // create unique path for this form submission //$uploadpath = 'assets/img-annonceurs/'; // you can create some logic to automatically // generate some type of folder structure here. // the path that you specify will automatically // be created by the script if it doesn't already // exist. // EXAMPLE: // this would put all file uploads into a new, // unique folder every day. $uploadpath = 'assets/img-annonceurs/'.date('Y-m-d').'/'; // get full path to unique folder $target_path = $modx->config['base_path'] . $uploadpath; // get uploaded file names: $submittedfiles = array_keys($_FILES); // loop through files foreach ($submittedfiles as $sf) { // Get Filename and make sure its good. $filename = basename( $_FILES[$sf]['name'] ); // Get file's extension $ext = pathinfo($filename, PATHINFO_EXTENSION); $ext = mb_strtolower($ext); // case insensitive // is the file name empty (no file uploaded) if($filename != '') { // is this the right type of file? if(in_array($ext, $ext_array)) { // clean up file name and make unique $filename = mb_strtolower($filename); // to lowercase $filename = str_replace(' ', '_', $filename); // spaces to underscores //$filename = date("Y-m-d_G-i-s_") . $filename; // add date & time // full path to new file $myTarget = $target_path . $filename; // create directory to move file into if it doesn't exist mkdir($target_path, 0755, true); // is the file moved to the proper folder successfully? if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) { // set a new placeholder with the new full path (if you need it in subsequent hooks) $modx->setPlaceholder('fi.'.$sf.'_new', $myTarget); // set the permissions on the file if (!chmod($myTarget, 0644)) { /*some debug function*/ } } else { // File not uploaded $errorMsg = 'There was a problem uploading the file.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } } else { // File type not allowed $errorMsg = 'Type of file not allowed.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } // if no file, don't error, but return blank } else { $hook->setValue($sf, ''); } } return $output;
/* handle file fields */ foreach ($origFields as $k => $v) { $attachmentIndex = 0; if (is_array($v) && !empty($v['tmp_name']) && isset($v['error']) && $v['error'] == UPLOAD_ERR_OK) { if (empty($v['name'])) { $v['name'] = 'attachment'.$attachmentIndex; } $this->modx->mail->mailer->AddAttachment($v['tmp_name'],$v['name'],'base64',!empty($v['type']) ? $v['type'] : 'application/octet-stream'); $attachmentIndex++; } }
if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) {
$filename = basename( $_FILES[$sf]['name'] );
foreach ($submittedfiles as $sf) { ... }
<?php $output = true; // initialize output; $ext_array = array('JPG', 'jpg', 'JPEG', 'jpeg', 'gif', 'GIF', 'PNG', 'png'); // valid extensions $uploadpath = 'assets/uploads/MYDIIR/'.date('Y-m-d').'/'; // create unique path for this form submission $target_path = $modx->config['base_path'] . $uploadpath; // get full path to unique folder $submittedfiles = array_keys($_FILES); // get uploaded file names: // Get Filename and make sure its good. $filename = basename( $_FILES[$sf]['name'] ); foreach ($submittedfiles as $sf) { // loop through files // Get file's extension $ext = pathinfo($filename, PATHINFO_EXTENSION); $ext = mb_strtolower($ext); // case insensitive // is the file name empty (no file uploaded) if($filename != '') { // is this the right type of file? if(in_array($ext, $ext_array)) { // clean up file name and make unique $filename = mb_strtolower($filename); // to lowercase $filename = str_replace(' ', '_', $filename); // spaces to underscores $filename = date("G:i:s_") . $filename; // add date & time // full path to new file $myTarget = $target_path . $filename; // create directory to move file into if it doesn't exist mkdir($target_path, 0755, true); // is the file moved to the proper folder successfully? if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) { // set a new placeholder with the new full path (if you need it in subsequent hooks) //$modx->setPlaceholder('fi.'.$sf.'_new', $myTarget); $modx->setPlaceholder('target', $myTarget); // set the permissions on the file if (!chmod($myTarget, 0644)) { /*some debug function*/ } } else { // File not uploaded $errorMsg = 'There was a problem uploading the file.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } } else { // File type not allowed $errorMsg = 'Type of file not allowed.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } // if no file, don't error, but return blank } else { $hook->setValue($sf, ''); } } return $output;
&hooks=`math,spam,formit2file,email,redirect`
<?php // initialize output; $output = true; // valid extensions $ext_array = array('jpg', 'jpeg', 'gif', 'png'); // create unique path for this form submission //$uploadpath = 'assets/img-annonceurs/'; // you can create some logic to automatically // generate some type of folder structure here. // the path that you specify will automatically // be created by the script if it doesn't already // exist. // EXAMPLE: // this would put all file uploads into a new, // unique folder every day. $uploadpath = 'assets/img-annonceurs/'.date('Y-m-d').'/'; // get full path to unique folder $target_path = $modx->config['base_path'] . $uploadpath; // get uploaded file names: $submittedfiles = array_keys($_FILES); // loop through files foreach ($submittedfiles as $sf) { // Get Filename and make sure its good. $filename = basename( $_FILES[$sf]['name'] ); // Get file's extension $ext = pathinfo($filename, PATHINFO_EXTENSION); $ext = mb_strtolower($ext); // case insensitive // is the file name empty (no file uploaded) if($filename != '') { // is this the right type of file? if(in_array($ext, $ext_array)) { // clean up file name and make unique $filename = mb_strtolower($filename); // to lowercase $filename = str_replace(' ', '_', $filename); // spaces to underscores //$filename = date("Y-m-d_G-i-s_") . $filename; // add date & time // full path to new file $myTarget = $target_path . $filename; // create directory to move file into if it doesn't exist if(!is_dir($target_path)) { mkdir($target_path, 0755, true); } else { $modx->log(modX::LOG_LEVEL_ERROR, 'dossier existe' ); } // is the file moved to the proper folder successfully? if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) { // set a new placeholder with the new full path (if you need it in subsequent hooks) $modx->setPlaceholder('fi.'.$sf.'_new', $myTarget); // set the permissions on the file if (!chmod($myTarget, 0644)) { /*some debug function*/ } } else { // File not uploaded $errorMsg = 'There was a problem uploading the file.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } } else { // File type not allowed $errorMsg = 'Type of file not allowed.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } // if no file, don't error, but return blank } else { $hook->setValue($sf, ''); } } return $output;
[[!FormIt? &hooks=`formit2file,formit2resource,redirect` &preHooks=`resource2formit` &resource2formitfields=`parent,pagetitle,content` &emailTpl=`myEmailChunk` &emailTo=`[email protected]` &redirectTo=`11` &validate=`parent:required, pagetitle:required, content:required:stripTags, nomination_file:required, `]]
<h2>Resource Form</h2> <p>[[+fi.error.error_message]]</p> <form class="form" action="[[~[[*id]]]]" method="post"> <input name="nospam:blank" type="hidden" /> <input name="resource_id" type="hidden" value="[[+fi.id]]" /> <label for="parent"> Parent: <span class="error">[[+fi.error.parent]]</span> </label> <select id="parent" name="parent:required" value="[[+fi.parent]]"> <option value="2" [[!+fi.color:FormItIsSelected=`2`]] >2</option> <option value="15" [[!+fi.color:FormItIsSelected=`15`]] >15</option> <option value="16" [[!+fi.color:FormItIsSelected=`16`]] >16</option> </select> <label for="pagetitle"> Pagetitle: <span class="error">[[+fi.error.pagetitle]]</span> </label> <input id="pagetitle" name="pagetitle:required" type="text" value="[[+fi.pagetitle]]" /> <label for="content"> Content: <span class="error">[[+fi.error.content]]</span> </label> <textarea id="content" cols="55" rows="7" name="content:required:stripTags">[[+fi.content]]</textarea> <br class="clear" /> <div class="row clearfix"> <div class="label">Supplementary Files <span class="error">[[+fi.error.nomination_file]]</span></div> <!-- end of .label --> <div class="input"><input id="nomination_file" name="nomination_file:required" type="file" value="[[+fi.nomination_file]]" maxlength="100000" /></div> <!-- end of .input --> </div> <!-- end of .row --> <div class="form-buttons"> <input type="submit" value="Create Resource" /> </div> </form>
<?php // initialize output; $output = true; // valid extensions $ext_array = array('jpg', 'jpeg', 'gif', 'png'); // create unique path for this form submission //$uploadpath = 'assets/uploads/'; // you can create some logic to automatically // generate some type of folder structure here. // the path that you specify will automatically // be created by the script if it doesn't already // exist. // EXAMPLE: // this would put all file uploads into a new, // unique folder every day. $uploadpath = 'assets/uploads/'.date('Y-m-d').'/'; // get full path to unique folder $target_path = $modx->config['base_path'] . $uploadpath; // get uploaded file names: $submittedfiles = array_keys($_FILES); // loop through files foreach ($submittedfiles as $sf) { // Get Filename and make sure its good. $filename = basename( $_FILES[$sf]['name'] ); // Get file's extension $ext = pathinfo($filename, PATHINFO_EXTENSION); $ext = mb_strtolower($ext); // case insensitive // is the file name empty (no file uploaded) if($filename != '') { // is this the right type of file? if(in_array($ext, $ext_array)) { // clean up file name and make unique $filename = mb_strtolower($filename); // to lowercase $filename = str_replace(' ', '_', $filename); // spaces to underscores //$filename = date("Y-m-d_G-i-s_") . $filename; // add date & time // full path to new file $myTarget = $target_path . $filename; // create directory to move file into if it doesn't exist if(!is_dir($target_path)) { mkdir($target_path, 0755, true); } else { $modx->log(modX::LOG_LEVEL_ERROR, 'dossier existe' ); } // is the file moved to the proper folder successfully? if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) { // set a new placeholder with the new full path (if you need it in subsequent hooks) $modx->setPlaceholder('fi.'.$sf.'_new', $myTarget); // set the permissions on the file if (!chmod($myTarget, 0644)) { /*some debug function*/ } } else { // File not uploaded $errorMsg = 'There was a problem uploading the file.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } } else { // File type not allowed $errorMsg = 'Type of file not allowed.'; $hook->addError($sf, $errorMsg); $output = false; // generate submission error } // if no file, don't error, but return blank } else { $hook->setValue($sf, ''); } } return $output;
$modx->log(modX::LOG_LEVEL_ERROR, 'your error' );
} else { $modx->log(modX::LOG_LEVEL_ERROR, 'dossier existe' ); }