本文整理汇总了PHP中NQ::close方法的典型用法代码示例。如果您正苦于以下问题:PHP NQ::close方法的具体用法?PHP NQ::close怎么用?PHP NQ::close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NQ
的用法示例。
在下文中一共展示了NQ::close方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute(CommandContext $context)
{
NQ::close();
header('HTTP/1.1 303 See Other');
header("Location: {$_SERVER['SCRIPT_NAME']}?module=controlpanel");
HMS::quit();
}
示例2: redirect
function redirect()
{
$path = $this->getURI();
NQ::close();
header('HTTP/1.1 303 See Other');
header("Location: {$path}");
Events::quit();
}
示例3: execute
public function execute()
{
// Check permissions
if (!\Current_User::allow('intern', 'create_internship')) {
\NQ::simple('intern', NotifyUI::ERROR, 'You do not have permission to create new internships.');
\NQ::close();
\PHPWS_Core::home();
}
$view = new \Intern\AddInternshipView();
return new \Response($view);
}
示例4: getAllowedStates
public static function getAllowedStates()
{
$db = new \PHPWS_DB('intern_state');
$db->addWhere('active', 1);
$db->addColumn('abbr');
$db->addColumn('full_name');
$db->setIndexBy('abbr');
$db->addOrder('full_name ASC');
$states = $db->select('col');
if (empty($states)) {
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>');
\NQ::close();
PHPWS_Core::goBack();
}
return $states;
}
示例5: rename
/**
* Rename the Editable item with ID $id to $newName.
*/
public function rename($newName)
{
/* Permission check */
if (!Current_User::allow('intern', $this->getEditPermission())) {
return NQ::simple('intern', INTERN_ERROR, 'You do not have permission to rename this.');
}
/* Must be valid name */
$newName = trim($newName);
if ($newName == '') {
return NQ::simple('intern', INTERN_WARNING, 'No name was given. Nothing were changed.');
}
/* Check ID */
if ($this->id == 0) {
// Editable wasn't loaded correctly
if (isset($_REQUEST['ajax'])) {
NQ::simple('intern', INTERN_ERROR, "Error occurred while loading information from database.");
NQ::close();
echo true;
exit;
}
NQ::simple('intern', INTERN_ERROR, "Error occurred while loading information from database.");
return;
}
/* Keep old name around for NQ */
$old = $this->name;
try {
/* Save and notify */
$this->name = $newName;
$this->save();
if (isset($_REQUEST['ajax'])) {
NQ::simple('intern', INTERN_SUCCESS, "<i>{$old}</i> renamed to <i>{$newName}</i>");
NQ::close();
echo true;
exit;
}
return NQ::simple('intern', INTERN_SUCCESS, "<i>{$old}</i> renamed to <i>{$newName}</i>");
} catch (Exception $e) {
if (isset($_REQUEST['ajax'])) {
NQ::simple('intern', INTERN_ERROR, $e->getMessage());
NQ::close();
echo false;
exit;
}
return NQ::simple('intern', INTERN_ERROR, $e->getMessage());
}
}
示例6: getAllowedStates
public static function getAllowedStates()
{
$db = new PHPWS_DB('intern_state');
$db->addWhere('active', 1);
$db->addColumn('abbr');
$db->addColumn('full_name');
$db->setIndexBy('abbr');
// get backwards because we flip it
$db->addOrder('full_name desc');
$states = $db->select('col');
if (empty($states)) {
NQ::simple('intern', INTERN_ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>');
NQ::close();
PHPWS_Core::goBack();
}
$states[-1] = 'Select a state';
$states = array_reverse($states, true);
return $states;
}
示例7: execute
public function execute()
{
// Make sure an 'internship_id' key is set on the request
if (!isset($_REQUEST['internship_id'])) {
\NQ::simple('intern', NotifyUI::ERROR, 'No internship ID was given.');
\NQ::close();
\PHPWS_Core::reroute('index.php');
}
// Load the Internship
try {
$intern = InternshipFactory::getInternshipById($_REQUEST['internship_id']);
} catch (\Intern\Exception\InternshipNotFoundException $e) {
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'Could not locate an internship with the given ID.');
return;
}
if ($intern === false) {
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'Could not locate an internship with the given ID.');
//TODO redirect to the search interface
return;
}
// Load a fresh copy of the student data from the web service
try {
$student = StudentProviderFactory::getProvider()->getStudent($intern->getBannerId(), $intern->getTerm());
} catch (\Intern\Exception\StudentNotFoundException $e) {
$studentId = $intern->getBannerId();
$student = null;
\NQ::simple('intern', \Intern\UI\NotifyUI::WARNING, "We couldn't find a student with an ID of {$studentId} in Banner. This probably means this person is not an active student.");
}
// Load the WorkflowState
$wfState = $intern->getWorkflowState();
// Load the agency
$agency = AgencyFactory::getAgencyById($intern->getAgencyId());
// Load the documents
$docs = $intern->getDocuments();
if ($docs === null) {
$docs = array();
// if no docs, setup an empty array
}
$view = new InternshipView($intern, $student, $wfState, $agency, $docs);
return $view->display();
}
示例8: execute
public function execute()
{
PHPWS_Core::initModClass('intern', 'Internship.php');
PHPWS_Core::initModClass('intern', 'Agency.php');
PHPWS_Core::initModClass('intern', 'Department.php');
PHPWS_Core::initModClass('intern', 'Faculty.php');
/**************
* Sanity Checks
*/
// Required fields check
$missing = self::checkRequest();
if (!is_null($missing) && !empty($missing)) {
// checkRequest returned some missing fields.
$url = 'index.php?module=intern&action=edit_internship';
$url .= '&missing=' . implode('+', $missing);
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, 'Please fill in the highlighted fields.');
NQ::close();
return PHPWS_Core::reroute($url);
}
// Sanity check the Banner ID
if (!preg_match('/^\\d{9}$/', $_REQUEST['banner'])) {
$url = 'index.php?module=intern&action=edit_internship&missing=banner';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, "The Banner ID you entered is not valid. No changes were saved. The student's Banner ID should be nine digits only (no letters, spaces, or punctuation).");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Sanity check student email
if (isset($_REQUEST['student_email']) && preg_match("/@/", $_REQUEST['student_email'])) {
$url = 'index.php?module=intern&action=edit_internship&missing=student_email';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, "The student's email address is invalid. No changes were saved. Enter only the username portion of the student's email address. The '@appstate.edu' portion is not necessary.");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Sanity check student zip
if (isset($_REQUEST['student_zip']) && $_REQUEST['student_zip'] != "" && (strlen($_REQUEST['student_zip']) != 5 || !is_numeric($_REQUEST['student_zip']))) {
$url = 'index.php?module=intern&action=edit_internship&missing=student_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, "The student's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Course start date must be before end date
if (!empty($_REQUEST['start_date']) && !empty($_REQUEST['end_date'])) {
$start = strtotime($_REQUEST['start_date']);
$end = strtotime($_REQUEST['end_date']);
if ($start > $end) {
$url = 'index.php?module=intern&action=edit_internship&missing=start_date+end_date';
// Restore the values in the fields the user already entered
unset($_POST['start_date']);
unset($_POST['end_date']);
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_WARNING, 'The internship start date must be before the end date.');
NQ::close();
return PHPWS_Core::reroute($url);
}
}
// Sanity check internship location zip
if (isset($_REQUEST['loc_zip']) && $_REQUEST['loc_zip'] != "" && (strlen($_REQUEST['loc_zip']) != 5 || !is_numeric($_REQUEST['loc_zip']))) {
$url = 'index.php?module=intern&action=edit_internship&missing=loc_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, "The internship location's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Sanity check agency zip
if (isset($_REQUEST['agency_zip']) && $_REQUEST['agency_zip'] != "" && (strlen($_REQUEST['agency_zip']) != 5 || !is_numeric($_REQUEST['agency_zip']))) {
$url = 'index.php?module=intern&action=edit_internship&missing=agency_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
NQ::simple('intern', INTERN_ERROR, "The agency's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
NQ::close();
return PHPWS_Core::reroute($url);
}
// Sanity check supervisor's zip
if (isset($_REQUEST['agency_sup_zip']) && $_REQUEST['agency_sup_zip'] != "" && (strlen($_REQUEST['agency_sup_zip']) != 5 || !is_numeric($_REQUEST['agency_sup_zip']))) {
$url = 'index.php?module=intern&action=edit_internship&missing=agency_sup_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
//.........这里部分代码省略.........
示例9: catch
\PHPWS_Core::goBack();
} catch (Exception $e) {
$message2 = formatException($e);
echo "The Intern Inventory has experienced a major internal error. Attempting to email an admin and then exit.";
$message = "Something terrible has happened, and the exception catch-all threw an exception.\n\nThe first exception was:\n\n{$message}\n\nThe second exception was:\n\n{$message2}";
mail('webmaster@tux.appstate.edu', 'A Major Intern Inventory Error Has Occurred', $message);
exit;
}
}
}
/**
* Plug content into TopUI. Show notifications. Add Style.
*/
if (isset($content)) {
if ($content === false) {
\NQ::close();
\PHPWS_Core::reroute('index.php?module=intern');
}
}
// Add top menu bar to theme
\PHPWS_Core::initModClass('intern', 'UI/TopUI.php');
UI\TopUI::plug();
// Get Notifications, add to layout
$nv = new UI\NotifyUI();
$notifications = $nv->display();
\Layout::add($notifications);
// Add content to Layout
\Layout::addStyle('intern', 'style.css');
\Layout::addStyle('intern', 'tango-icons.css');
\Layout::add($content);
function formatException(Exception $e)
示例10: postDocumentUpload
/**
* @Override FC_Document_Manager::postDocumentUpload().
*
* This is a copy and past of the overriden function except
* that we now create a new InternDocument object
* and save it to databse.
*/
public function postDocumentUpload()
{
// importPost in File_Common
$result = $this->document->importPost('file_name');
if (\PHPWS_Error::isError($result) || !$result) {
\PHPWS_Error::log($result);
$vars['timeout'] = '3';
$vars['refresh'] = 0;
javascript('close_refresh', $vars);
return dgettext('filecabinet', 'An error occurred when trying to save your document.');
} elseif ($result) {
$result = $this->document->save();
if (\PHPWS_Error::logIfError($result)) {
$content = dgettext('filecabinet', '<p>Could not upload file to folder. Please check your directory permissions.</p>');
$content .= sprintf('<a href="#" onclick="window.close(); return false">%s</a>', dgettext('filecabinet', 'Close this window'));
Layout::nakedDisplay($content);
exit;
}
//\PHPWS_Core::initModClass('filecabinet', 'File_Assoc.php');
//\FC_File_Assoc::updateTag(\FC_DOCUMENT, $this->document->id, $this->document->getTag());
$this->document->moveToFolder();
// If the document's id is set in the request
// then we are updating a file. Not need to insert
// it into database.
if (!isset($_REQUEST['document_id'])) {
// Save InternDocument in database.
$doc = new InternDocument();
$doc->internship_id = $_REQUEST['internship'];
$doc->document_fc_id = $this->document->id;
$result = $doc->save();
}
// Choose the proper notification text...
if (isset($_REQUEST['document_id']) && $_REQUEST['document_id'] && $result) {
\NQ::simple('intern', \Intern\UI\NotifyUI::SUCCESS, "File saved.");
} else {
if ($result) {
\NQ::simple('intern', \Intern\UI\NotifyUI::SUCCESS, "File added.");
} else {
if (\PHPWS_Error::logIfError($result)) {
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, $result->toString());
}
}
}
\NQ::close();
if (!isset($_POST['im'])) {
javascript('close_refresh');
} else {
javascript('/filecabinet/refresh_manager', array('document_id' => $this->document->id));
}
} else {
return $this->edit();
}
}
示例11: quit
public static function quit()
{
NQ::close();
exit;
}
示例12: handleRequest
//.........这里部分代码省略.........
$state->setActive(false);
$state->save();
exit;
break;
case STATE_EDIT:
if (!Current_User::allow('intern', 'edit_state')) {
disallow();
}
PHPWS_Core::initModClass('intern', 'UI/StateUI.php');
$view = new StateUI();
$this->content = $view->display();
break;
case 'edit_admins':
PHPWS_Core::initModClass('intern', 'UI/AdminUI.php');
PHPWS_Core::initModClass('intern', 'Admin.php');
PHPWS_Core::initModClass('intern', 'Department.php');
if (isset($_REQUEST['add'])) {
// Add user in REQUEST to administrator list for the department in REQUEST.
Admin::add($_REQUEST['username'], $_REQUEST['department_id']);
} else {
if (isset($_REQUEST['del'])) {
// Delete the user in REQUEST from department in REQUEST.
Admin::del($_REQUEST['username'], $_REQUEST['department_id']);
} else {
if (isset($_REQUEST['user_complete'])) {
$users = Admin::searchUsers($_REQUEST['term']);
echo json_encode($users);
exit;
}
}
}
$view = new AdminUI();
$this->content = $view->display();
break;
case 'pdf':
PHPWS_Core::initModClass('intern', 'InternshipFactory.php');
PHPWS_Core::initModClass('intern', 'InternshipContractPdfView.php');
PHPWS_Core::initModClass('intern', 'EmergencyContactFactory.php');
$i = InternshipFactory::getInternshipById($_REQUEST['id']);
$emgContacts = EmergencyContactFactory::getContactsForInternship($i);
$pdfView = new InternshipContractPdfView($i, $emgContacts);
$pdf = $pdfView->getPdf();
$pdf->output();
exit;
case 'upload_document_form':
PHPWS_Core::initModClass('intern', 'Intern_Document_Manager.php');
$docManager = new Intern_Document_Manager();
echo $docManager->edit();
exit;
break;
case 'post_document_upload':
PHPWS_Core::initModClass('intern', 'Intern_Document_Manager.php');
$docManager = new Intern_Document_Manager();
$docManager->postDocumentUpload();
break;
case 'delete_document':
PHPWS_Core::initModClass('intern', 'Intern_Document.php');
$doc = new Intern_Document($_REQUEST['doc_id']);
$doc->delete();
NQ::simple('intern', INTERN_SUCCESS, 'Document deleted.');
NQ::close();
PHPWS_Core::goBack();
break;
case 'addEmergencyContact':
PHPWS_Core::initModClass('intern', 'command/AddEmergencyContact.php');
$ctrl = new AddEmergencyContact();
$ctrl->execute();
break;
case 'removeEmergencyContact':
PHPWS_Core::initModClass('intern', 'command/RemoveEmergencyContact.php');
$ctrl = new RemoveEmergencyContact();
$ctrl->execute();
break;
case 'edit_faculty':
PHPWS_Core::initModClass('intern', 'FacultyUI.php');
$facultyUI = new FacultyUI();
$this->content = $facultyUI->display();
break;
case 'getFacultyListForDept':
PHPWS_Core::initModClass('intern', 'command/GetFacultyListForDept.php');
$ctrl = new GetFacultyListForDept();
$ctrl->execute();
break;
case 'restFacultyById':
PHPWS_Core::initModClass('intern', 'command/RestFacultyById.php');
$ctrl = new RestFacultyById();
$ctrl->execute();
break;
case 'facultyDeptRest':
PHPWS_Core::initModClass('intern', 'command/FacultyDeptRest.php');
$ctrl = new FacultyDeptRest();
$ctrl->execute();
break;
default:
PHPWS_Core::initModClass('intern', 'UI/InternMenu.php');
$menu = new InternMenu();
$this->content = $menu->display();
break;
}
}
示例13: display
public static function display()
{
PHPWS_Core::initModClass('intern', 'Internship.php');
PHPWS_Core::initModClass('intern', 'InternshipFactory.php');
PHPWS_Core::initModClass('intern', 'Intern_Document.php');
PHPWS_Core::initModClass('intern', 'Intern_Folder.php');
PHPWS_Core::initModClass('intern', 'Agency.php');
PHPWS_Core::initModClass('intern', 'InternshipFormView.php');
PHPWS_Core::initModClass('intern', 'EditInternshipFormView.php');
PHPWS_Core::initModClass('intern', 'Term.php');
PHPWS_Core::initModClass('intern', 'Department.php');
PHPWS_Core::initModClass('intern', 'Major.php');
PHPWS_Core::initModClass('intern', 'GradProgram.php');
PHPWS_Core::initModClass('intern', 'Subject.php');
$tpl = array();
if (isset($_REQUEST['internship_id'])) {
/* Attempting to edit internship */
try {
$i = InternshipFactory::getInternshipById($_REQUEST['internship_id']);
} catch (InternshipNotFoundException $e) {
NQ::simple('intern', INTERN_ERROR, 'Could not locate an internship with the given ID.');
return;
}
$internshipForm = new EditInternshipFormView('Edit Internship', $i);
$internshipForm->buildInternshipForm();
$internshipForm->plugInternship();
$tpl['TITLE'] = 'Edit Internship';
$form = $internshipForm->getForm();
/*** 'Generate Contract' Button ***/
$tpl['PDF'] = PHPWS_Text::linkAddress('intern', array('action' => 'pdf', 'id' => $i->id));
/*** Document List ***/
$docs = $i->getDocuments();
if (!is_null($docs)) {
foreach ($docs as $doc) {
$tpl['docs'][] = array('DOWNLOAD' => $doc->getDownloadLink('blah'), 'DELETE' => $doc->getDeleteLink());
}
}
$folder = new Intern_Folder(Intern_Document::getFolderId());
$tpl['UPLOAD_DOC'] = $folder->documentUpload($i->id);
$wfState = $i->getWorkflowState();
if (($wfState instanceof SigAuthReadyState || $wfState instanceof SigAuthApprovedState || $wfState instanceof DeanApprovedState || $wfState instanceof RegisteredState) && $docs < 1) {
NQ::simple('intern', INTERN_WARNING, "No documents have been uploaded yet. Usually a copy of the signed contract document should be uploaded.");
}
/******************
* Change History *
*/
if (!is_null($i->id)) {
PHPWS_Core::initModClass('intern', 'ChangeHistoryView.php');
$historyView = new ChangeHistoryView($i);
$tpl['CHANGE_LOG'] = $historyView->show();
}
// Show a warning if in SigAuthReadyState, is international, and not OIED approved
if ($i->getWorkflowState() instanceof SigAuthReadyState && $i->isInternational() && !$i->isOiedCertified()) {
NQ::simple('intern', INTERN_WARNING, 'This internship can not be approved by the Signature Authority bearer until the internship is certified by the Office of International Education and Development.');
}
// Show a warning if in DeanApproved state and is distance_ed campus
if ($i->getWorkflowState() == 'DeanApprovedState' && $i->isDistanceEd()) {
NQ::simple('intern', INTERN_WARNING, 'This internship must be registered by Distance Education.');
}
// Sanity check cource section #
if ($i->isDistanceEd() && ($i->getCourseSection() < 300 || $i->getCourseSection() > 399)) {
NQ::simple('intern', INTERN_WARNING, "This is a distance ed internship, so the course section number should be between 300 and 399.");
}
// Sanity check distance ed radio
if (!$i->isDistanceEd() && ($i->getCourseSection() > 300 && $i->getCourseSection() < 400)) {
NQ::simple('intern', INTERN_WARNING, "The course section number you entered looks like a distance ed course. Be sure to check the Distance Ed option, or double check the section number.");
}
PHPWS_Core::initModClass('intern', 'EmergencyContactFormView.php');
$emgContactDialog = new EmergencyContactFormView($i);
$tpl['ADD_EMERGENCY_CONTACT'] = '<button type="button" class="btn btn-default btn-sm" id="add-ec-button"><i class="fa fa-plus"></i> Add Contact</button>';
$tpl['EMERGENCY_CONTACT_DIALOG'] = $emgContactDialog->getHtml();
} else {
// Attempting to create a new internship
// Check permissions
if (!Current_User::allow('intern', 'create_internship')) {
NQ::simple('intern', INTERN_ERROR, 'You do not have permission to create new internships.');
NQ::close();
PHPWS_Core::home();
}
$tpl['TITLE'] = 'Add Internship';
$internshipForm = new InternshipFormView('Add Internship');
$internshipForm->buildInternshipForm();
$tpl['AUTOFOCUS'] = 'autofocus';
/* Show form with empty fields. */
$form = $internshipForm->getForm();
// Show a disabled button in document list if we are adding an internship.
$tpl['UPLOAD_DOC'] = '<div title="Please save this internship first."><button id="doc-upload-btn" class="btn btn-default btn-sm" title="Please save this internship first." disabled="disabled"><i class="fa fa-upload"></i> Add document</button></div>';
// Show a disabled emergency contact button
$tpl['ADD_EMERGENCY_CONTACT'] = '<div title="Please save this internship first."><button class="btn btn-default btn-sm" id="add-ec-button" disabled="disabled" data-toggle="tooltip" title="first tooltip"><i class="fa fa-plus"></i> Add Contact</button></div>';
}
/*
* If 'missing' is set then we have been redirected
* back to the form because the user didn't type in something and
* somehow got past the javascript.
*/
if (isset($_REQUEST['missing'])) {
$missing = explode(' ', $_REQUEST['missing']);
//javascriptMod('intern', 'missing');
/*
* Set classes on field we are missing.
//.........这里部分代码省略.........
示例14: execute
public function execute()
{
/**************
* Sanity Checks
*/
// Required fields check
$missing = self::checkRequest();
if (!is_null($missing) && !empty($missing)) {
// checkRequest returned some missing fields.
$url = 'index.php?module=intern&action=ShowInternship';
$url .= '&missing=' . implode('+', $missing);
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'Please fill in the highlighted fields.');
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Sanity check student email
if (isset($_REQUEST['student_email']) && preg_match("/@/", $_REQUEST['student_email'])) {
$url = 'index.php?module=intern&action=ShowInternship&missing=student_email';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The student's email address is invalid. No changes were saved. Enter only the username portion of the student's email address. The '@appstate.edu' portion is not necessary.");
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Sanity check student zip
if (isset($_REQUEST['student_zip']) && $_REQUEST['student_zip'] != "" && !preg_match('/^[\\d]{5}$|^[\\d]{5}-[\\d]{4}$/', $_REQUEST['student_zip'])) {
$url = 'index.php?module=intern&action=ShowInternship&missing=student_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The student's zip code is invalid. No changes were saved. The zip code should be 5 digits (no letters, spaces, or punctuation), OR use the extended nine digit form (e.g. 28608-1234).");
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Course start date must be before end date
if (!empty($_REQUEST['start_date']) && !empty($_REQUEST['end_date'])) {
$start = strtotime($_REQUEST['start_date']);
$end = strtotime($_REQUEST['end_date']);
if ($start > $end) {
$url = 'index.php?module=intern&action=ShowInternship&missing=start_date+end_date';
// Restore the values in the fields the user already entered
unset($_POST['start_date']);
unset($_POST['end_date']);
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', Intern\NotifyUI::WARNING, 'The internship start date must be before the end date.');
\NQ::close();
return \PHPWS_Core::reroute($url);
}
}
// Sanity check internship location zip
if (isset($_REQUEST['loc_zip']) && $_REQUEST['loc_zip'] != "" && !is_numeric($_REQUEST['loc_zip'])) {
$url = 'index.php?module=intern&action=ShowInternship&missing=loc_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The internship location's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Sanity check agency zip
if (isset($_REQUEST['agency_zip']) && $_REQUEST['agency_zip'] != "" && !is_numeric($_REQUEST['agency_zip'])) {
$url = 'index.php?module=intern&action=ShowInternship&missing=agency_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The agency's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Sanity check supervisor's zip
if (isset($_REQUEST['agency_sup_zip']) && $_REQUEST['agency_sup_zip'] != "" && !is_numeric($_REQUEST['agency_sup_zip'])) {
$url = 'index.php?module=intern&action=ShowInternship&missing=agency_sup_zip';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The agency supervisor's zip code is invalid. No changes were saved. Zip codes should be 5 digits only (no letters, spaces, or punctuation).");
\NQ::close();
return \PHPWS_Core::reroute($url);
}
// Sanity check course number
if (isset($_REQUEST['course_no']) && $_REQUEST['course_no'] != '' && (strlen($_REQUEST['course_no']) > 20 || !is_numeric($_REQUEST['course_no']))) {
$url = 'index.php?module=intern&action=ShowInternship&missing=course_no';
// Restore the values in the fields the user already entered
foreach ($_POST as $key => $val) {
$url .= "&{$key}={$val}";
}
\NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "The course number provided is invalid. No changes were saved. Course numbers should be less than 20 digits (no letters, spaces, or punctuation).");
\NQ::close();
//.........这里部分代码省略.........
示例15: display
//.........这里部分代码省略.........
// sizeof($depts) == 2 because of the 'Select Deparmtnet' option
if (sizeof($depts) == 2) {
$keys = array_keys($depts);
$form->setMatch('dept', $keys[1]);
}
// Student level radio button
javascript('jquery');
javascriptMod('intern', 'majorSelector', array('form_id' => $form->id));
$levels = array('-1' => 'Any Level', 'ugrad' => 'Undergraduate', 'grad' => 'Graduate');
$form->addSelect('student_level', $levels);
$form->setLabel('student_level', 'Level');
$form->setClass('student_level', 'form-control');
// Student Major dummy box (gets replaced by dropdowns below using JS when student_level is selected)
$levels = array('-1' => 'Choose student level first');
$form->addDropBox('student_major', $levels);
$form->setLabel('student_major', 'Major / Program');
$form->addCssClass('student_major', 'form-control');
// Undergrad major drop down
if (isset($s)) {
$majors = Major::getMajorsAssoc($s->ugrad_major);
} else {
$majors = Major::getMajorsAssoc();
}
$form->addSelect('ugrad_major', $majors);
$form->setLabel('ugrad_major', 'Undergraduate Majors & Certificate Programs');
$form->setClass('ugrad_major', 'form-control');
// Graduate major drop down
if (isset($s)) {
$progs = GradProgram::getGradProgsAssoc($s->grad_prog);
} else {
$progs = GradProgram::getGradProgsAssoc();
}
$form->addSelect('grad_prog', $progs);
$form->setLabel('grad_prog', 'Graduate Majors & Certificate Programs');
$form->setClass('grad_prog', 'form-control');
// Campus
$campuses = array('main_campus' => 'Main Campus', 'distance_ed' => 'Distance Ed');
$form->addRadioAssoc('campus', $campuses);
/***************
* Course Info *
***************/
$subjects = Subject::getSubjects();
$form->addSelect('course_subj', $subjects);
$form->setLabel('course_subj', 'Subject');
$form->setClass('course_subj', 'form-control');
$form->addText('course_no');
$form->setLabel('course_no', 'Course Number');
$form->setSize('course_no', 6);
$form->setMaxSize('course_no', 4);
$form->setClass('course_no', 'form-control');
$form->addText('course_sect');
$form->setLabel('course_sect', 'Section');
$form->setSize('course_sect', 6);
$form->setMaxSize('course_sect', 4);
$form->setClass('course_sect', 'form-control');
// Internship types.
$types = Internship::getTypesAssoc();
$form->addRadioAssoc('type', $types);
// Location
$loc = array('domestic' => 'Domestic', 'internat' => 'International');
$form->addRadioAssoc('loc', $loc);
/* State search */
$db = new PHPWS_DB('intern_state');
$db->addWhere('active', 1);
$db->addColumn('abbr');
$db->addColumn('full_name');
$db->setIndexBy('abbr');
// get backwards because we flip it
$db->addOrder('full_name desc');
$states = $db->select('col');
if (empty($states)) {
NQ::simple('intern', INTERN_ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>');
NQ::close();
PHPWS_Core::goBack();
}
$states[-1] = 'Select state';
$states = array_reverse($states, true);
$form->addSelect('state', $states);
$form->setLabel('state', 'State');
$form->setClass('state', 'form-control');
/* Province search */
$form->addText('prov');
$form->setLabel('prov', 'Province/Territory');
$form->setClass('prov', 'form-control');
// Workflow states
$workflowStates = WorkflowStateFactory::getStatesAssoc();
unset($workflowStates['CreationState']);
// Remove this state, since it's not valid (internal only state for initial creation)
$form->addCheckAssoc('workflow_state', $workflowStates);
unset($_REQUEST['module']);
unset($_REQUEST['action']);
unset($_REQUEST['submit']);
//test($_REQUEST,1);
$form->plugIn($_REQUEST);
$form->addSubmit('submit', 'Search');
// Javascript...
javascript('jquery');
javascriptMod('intern', 'resetSearch');
return PHPWS_Template::process($form->getTemplate(), 'intern', 'search.tpl');
}