function viewSaveCustomizeAction() { $translate = DevblocksPlatform::getTranslationService(); @($id = DevblocksPlatform::importGPC($_REQUEST['id'])); @($columns = DevblocksPlatform::importGPC($_REQUEST['columns'], 'array', array())); @($num_rows = DevblocksPlatform::importGPC($_REQUEST['num_rows'], 'integer', 10)); $num_rows = max($num_rows, 1); // make 1 the minimum $view = C4_AbstractViewLoader::getView($id); $view->doCustomize($columns, $num_rows); $active_worker = CerberusApplication::getActiveWorker(); // Conditional Persist if (substr($id, 0, 5) == "cust_") { // custom workspace $list_view_id = intval(substr($id, 5)); // Special custom view fields @($title = DevblocksPlatform::importGPC($_REQUEST['title'], 'string', $translate->_('views.new_list'))); $view->name = $title; // Persist Object $list_view = new Model_WorkerWorkspaceListView(); $list_view->title = $title; $list_view->columns = $view->view_columns; $list_view->num_rows = $view->renderLimit; $list_view->params = $view->params; $list_view->sort_by = $view->renderSortBy; $list_view->sort_asc = $view->renderSortAsc; DAO_WorkerWorkspaceList::update($list_view_id, array(DAO_WorkerWorkspaceList::LIST_VIEW => serialize($list_view))); } else { $prefs = new C4_AbstractViewModel(); $prefs->class_name = get_class($view); $prefs->view_columns = $view->view_columns; $prefs->renderLimit = $view->renderLimit; $prefs->renderSortBy = $view->renderSortBy; $prefs->renderSortAsc = $view->renderSortAsc; DAO_WorkerPref::set($active_worker->id, 'view' . $view->id, serialize($prefs)); } C4_AbstractViewLoader::setView($id, $view); $view->render(); }
function saveTab() { @($forward_bucket = DevblocksPlatform::importGPC($_REQUEST['forward_bucket'], 'string', '')); @($forward_address = DevblocksPlatform::importGPC($_REQUEST['forward_address'], 'string', '')); @($forward_event = DevblocksPlatform::importGPC($_REQUEST['forward_event'], 'string', '')); $worker = CerberusApplication::getActiveWorker(); // Delete forwards @($forward_deletes = DevblocksPlatform::importGPC($_REQUEST['forward_deletes'], 'array', array())); if (!empty($forward_deletes)) { DAO_WorkerMailForward::delete($forward_deletes); } // Add forward if (!empty($forward_bucket) && !empty($forward_address) && !empty($forward_event)) { @(list($group_id, $bucket_id) = split('_', $forward_bucket)); if (is_null($group_id) || is_null($bucket_id)) { break; } $fields = array(DAO_WorkerMailForward::WORKER_ID => $worker->id, DAO_WorkerMailForward::GROUP_ID => $group_id, DAO_WorkerMailForward::BUCKET_ID => $bucket_id, DAO_WorkerMailForward::EMAIL => $forward_address, DAO_WorkerMailForward::EVENT => $forward_event); DAO_WorkerMailForward::create($fields); } // Assignment notifications @($assign_notify_email = DevblocksPlatform::importGPC($_REQUEST['assign_notify_email'], 'string', '')); DAO_WorkerPref::set($worker->id, ChWatchersPlugin::WORKER_PREF_ASSIGN_EMAIL, $assign_notify_email); DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences', 'notifications'))); }
function doStopTourAction() { // $request = DevblocksPlatform::getHttpRequest(); $worker = CerberusApplication::getActiveWorker(); DAO_WorkerPref::set($worker->id, 'assist_mode', 0); // DevblocksPlatform::redirect(new DevblocksHttpResponse($request->path, $request->query)); }
function saveDefaultsAction() { @($timezone = DevblocksPlatform::importGPC($_REQUEST['timezone'], 'string')); @($lang_code = DevblocksPlatform::importGPC($_REQUEST['lang_code'], 'string', 'en_US')); @($default_signature = DevblocksPlatform::importGPC($_REQUEST['default_signature'], 'string')); @($default_signature_pos = DevblocksPlatform::importGPC($_REQUEST['default_signature_pos'], 'integer', 0)); @($reply_box_height = DevblocksPlatform::importGPC($_REQUEST['reply_box_height'], 'integer')); $worker = CerberusApplication::getActiveWorker(); $translate = DevblocksPlatform::getTranslationService(); $tpl = DevblocksPlatform::getTemplateService(); $pref_errors = array(); // Time $_SESSION['timezone'] = $timezone; @date_default_timezone_set($timezone); DAO_WorkerPref::set($worker->id, 'timezone', $timezone); // Language $_SESSION['locale'] = $lang_code; DevblocksPlatform::setLocale($lang_code); DAO_WorkerPref::set($worker->id, 'locale', $lang_code); @($new_password = DevblocksPlatform::importGPC($_REQUEST['change_pass'], 'string')); @($verify_password = DevblocksPlatform::importGPC($_REQUEST['change_pass_verify'], 'string')); //[mdf] if nonempty passwords match, update worker's password if ($new_password != "" && $new_password === $verify_password) { $session = DevblocksPlatform::getSessionService(); $fields = array(DAO_Worker::PASSWORD => md5($new_password)); DAO_Worker::updateAgent($worker->id, $fields); } @($assist_mode = DevblocksPlatform::importGPC($_REQUEST['assist_mode'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'assist_mode', $assist_mode); @($keyboard_shortcuts = DevblocksPlatform::importGPC($_REQUEST['keyboard_shortcuts'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'keyboard_shortcuts', $keyboard_shortcuts); @($mail_inline_comments = DevblocksPlatform::importGPC($_REQUEST['mail_inline_comments'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'mail_inline_comments', $mail_inline_comments); @($mail_always_show_all = DevblocksPlatform::importGPC($_REQUEST['mail_always_show_all'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'mail_always_show_all', $mail_always_show_all); // Alternate Email Addresses @($new_email = DevblocksPlatform::importGPC($_REQUEST['new_email'], 'string', '')); @($email_delete = DevblocksPlatform::importGPC($_REQUEST['email_delete'], 'array', array())); // Confirm deletions are assigned to the current worker if (!empty($email_delete)) { foreach ($email_delete as $e) { if (null != ($worker_address = DAO_AddressToWorker::getByAddress($e)) && $worker_address->worker_id == $worker->id) { DAO_AddressToWorker::unassign($e); } } } // Assign a new e-mail address if it's legitimate if (!empty($new_email)) { if (null != ($addy = DAO_Address::lookupAddress($new_email, true))) { if (null == ($assigned = DAO_AddressToWorker::getByAddress($new_email))) { $this->_sendConfirmationEmail($new_email, $worker); } else { $pref_errors[] = vsprintf($translate->_('prefs.address.exists'), $new_email); } } else { $pref_errors[] = vsprintf($translate->_('prefs.address.invalid'), $new_email); } } $tpl->assign('pref_errors', $pref_errors); DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences'))); }
function saveTabGeneralAction() { @($timezone = DevblocksPlatform::importGPC($_REQUEST['timezone'], 'string')); @($lang_code = DevblocksPlatform::importGPC($_REQUEST['lang_code'], 'string', 'en_US')); $worker = PortSensorApplication::getActiveWorker(); $translate = DevblocksPlatform::getTranslationService(); $tpl = DevblocksPlatform::getTemplateService(); // Time $_SESSION['timezone'] = $timezone; @date_default_timezone_set($timezone); DAO_WorkerPref::set($worker->id, 'timezone', $timezone); // Language $_SESSION['locale'] = $lang_code; DevblocksPlatform::setLocale($lang_code); DAO_WorkerPref::set($worker->id, 'locale', $lang_code); @($new_password = DevblocksPlatform::importGPC($_REQUEST['change_pass'], 'string')); @($verify_password = DevblocksPlatform::importGPC($_REQUEST['change_pass_verify'], 'string')); //[mdf] if nonempty passwords match, update worker's password if ($new_password != "" && $new_password === $verify_password) { $session = DevblocksPlatform::getSessionService(); $fields = array(DAO_Worker::PASS => md5($new_password)); DAO_Worker::update($worker->id, $fields); } @($assist_mode = DevblocksPlatform::importGPC($_REQUEST['assist_mode'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'assist_mode', $assist_mode); @($keyboard_shortcuts = DevblocksPlatform::importGPC($_REQUEST['keyboard_shortcuts'], 'integer', 0)); DAO_WorkerPref::set($worker->id, 'keyboard_shortcuts', $keyboard_shortcuts); DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences'))); }