/** * Handle processing the form when it's posted, such as saving and handling errors. */ protected function processPost() { if (!$this->formObj) { return false; } if ($this->formObj->formSubmitted()) { // Form is valid, so save data if ($this->formObj->formValid()) { $originalFormValues = $this->formObj->getFormValues(); // Add optional filter to tweak the form values before saving if ($this->filterBeforeSaveFunction && function_exists($this->filterBeforeSaveFunction)) { $formValues = call_user_func($this->filterBeforeSaveFunction, $originalFormValues, $this); } else { $formValues = $originalFormValues; } // Now save the form values as normal. $this->handleSave($formValues); // Optional function once data has been saved if ($this->afterSaveFunction && function_exists($this->afterSaveFunction)) { call_user_func($this->afterSaveFunction, $formValues, $originalFormValues, $this); } } else { $this->messages = $this->showListOfErrors($this->formObj->getListOfErrors()); } } }
/** * Handle processing the form when it's posted, such as saving and handling errors. */ protected function processPost() { if (!$this->formObj) { return false; } if ($this->formObj->formSubmitted()) { // Form is valid, so save data if ($this->formObj->formValid()) { $originalFormValues = $this->formObj->getFormValues(); // Add optional function to validate the data $gotFnErrorMsg = false; if ($this->filterExtraValidationFunction && function_exists($this->filterExtraValidationFunction)) { $gotFnErrorMsg = call_user_func($this->filterExtraValidationFunction, $originalFormValues, $this); } // Got an error message, so show and abort. if ($gotFnErrorMsg) { $this->messages = $this->showMessage($gotFnErrorMsg, true); return false; } // Add optional filter to tweak the form values before saving if ($this->filterBeforeSaveFunction && function_exists($this->filterBeforeSaveFunction)) { $formValues = call_user_func($this->filterBeforeSaveFunction, $originalFormValues, $this); // If we're modifying values, then we need to update the data being stored in the form $this->loadDefaults($formValues); } else { $formValues = $originalFormValues; } // Now save the form values as normal. $this->handleSave($formValues); // Optional function once data has been saved if ($this->afterSaveFunction && function_exists($this->afterSaveFunction)) { call_user_func($this->afterSaveFunction, $formValues, $originalFormValues, $this); } } else { $this->messages .= $this->showListOfErrors($this->formObj->getListOfErrors()); } } }
/** * Show the import course page. */ function WPCW_showPage_ImportExport_importUsers() { $page = new PageBuilder(true); $page->showPageHeader(__('Import Users from CSV File', 'wp_courseware'), '75%', WPCW_icon_getPageIconURL()); // Show selection menu for import/export to save pages WPCW_showPage_ImportExport_menu('import_users'); // Show form to import some XML $form = new FormBuilder('wpcw_import_users'); $form->setSubmitLabel(__('Import Users', 'wp_courseware')); // Course upload for XML file $formElem = new FormElement('import_course_csv', __('User Import CSV File', 'wp_courseware'), true); $formElem->setTypeAsUploadFile(); $form->addFormElement($formElem); if ($form->formSubmitted()) { // Do the full export if ($form->formValid()) { // Handle the importing/uploading WPCW_users_importUsersFromFile($page); } else { $page->showListOfErrors($form->getListOfErrors(), __('Unfortunately, there were some errors trying to import the XML file.', 'wp_courseware')); } } // Workout maximum upload size $max_upload = (int) ini_get('upload_max_filesize'); $max_post = (int) ini_get('post_max_size'); $memory_limit = (int) ini_get('memory_limit'); $upload_mb = min($max_upload, $max_post, $memory_limit); printf('<p class="wpcw_doc_quick">'); printf(__('You can import a CSV file of users using the form below.', 'wp_courseware') . ' ' . __('The <b>maximum upload file size</b> for your server is <b>%d MB</b>.', 'wp_courseware'), $upload_mb); printf('</p>'); echo $form->toString(); printf('<br/><br/><div class="wpcw_docs_wrapper">'); printf('<b>%s</b>', __('Some tips for importing users via a CSV file:', 'wp_courseware')); printf('<ul>'); printf('<li>' . __('If a user email address already exists, then just the courses are updated for that user.', 'wp_courseware')); printf('<li>' . __('User names are generated from the first and last name information. If a user name already exists, then a unique username is generated.', 'wp_courseware')); printf('<li>' . __('To add a user to many courses, just separate those course IDs with a comma in the <code>courses_to_add_to</code> column.', 'wp_courseware')); printf('<li>' . __('If a user is created, any courses set to be automatically assigned will be done first, and then the courses added in the <code>courses_to_add_to</code> column.', 'wp_courseware')); printf('<li>' . __('You can download an <a href="%s">example CSV file here</a>.', 'wp_courseware') . '</li>', admin_url('?wpcw_export=csv_import_user_sample')); printf('<li>' . __('The IDs for the training courses can be found on the <a href="%s">course summary page</a>.', 'wp_courseware') . '</li>', admin_url('admin.php?page=WPCW_wp_courseware')); printf('</ul>'); printf('</div>'); $page->showPageFooter(); }