示例#1
0
文件: home.php 项目: rmiddle/usermeet
 function doNotificationsMarkReadAction()
 {
     $worker = UsermeetApplication::getActiveWorker();
     @($view_id = DevblocksPlatform::importGPC($_REQUEST['view_id'], 'string', ''));
     @($row_ids = DevblocksPlatform::importGPC($_REQUEST['row_id'], 'array', array()));
     if (is_array($row_ids) && !empty($row_ids)) {
         DAO_WorkerEvent::updateWhere(array(DAO_WorkerEvent::IS_READ => 1), sprintf("%s = %d AND %s IN (%s)", DAO_WorkerEvent::WORKER_ID, $worker->id, DAO_WorkerEvent::ID, implode(',', $row_ids)));
         DAO_WorkerEvent::clearCountCache($worker->id);
     }
     $myEventsView = Um_AbstractViewLoader::getView($view_id);
     $myEventsView->render();
 }
示例#2
0
 private static function _init()
 {
     $visit = UsermeetApplication::getVisit();
     self::$views = $visit->get(self::VISIT_ABSTRACTVIEWS, array());
 }
示例#3
0
 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 = Um_AbstractViewLoader::getView($id);
     $view->doCustomize($columns, $num_rows);
     $active_worker = UsermeetApplication::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 Um_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));
     //		}
     Um_AbstractViewLoader::setView($id, $view);
     $view->render();
 }
示例#4
0
文件: App.php 项目: rmiddle/usermeet
 function exportTmxAction()
 {
     $defaults = new Um_AbstractViewModel();
     $defaults->class_name = 'Um_TranslationView';
     $defaults->id = Um_TranslationView::DEFAULT_ID;
     $view = Um_AbstractViewLoader::getView(Um_TranslationView::DEFAULT_ID, $defaults);
     // Extract every result from the view
     list($results, $null) = DAO_Translation::search($view->params, -1, 0, SearchFields_Translation::STRING_ID, true, false);
     // Build TMX outline
     $xml = simplexml_load_string('<?xml version="1.0" encoding="' . LANG_CHARSET_CODE . '"?>' . '<!DOCTYPE tmx SYSTEM "tmx14.dtd">' . '<tmx version="1.4">' . '<body></body>' . '</tmx>');
     /* @var $xml SimpleXMLElement */
     $namespaces = $xml->getNamespaces(true);
     $codes = array();
     // Loop translated strings
     if (is_array($results)) {
         foreach ($results as $result) {
             $string_id = $result[SearchFields_Translation::STRING_ID];
             $lang_code = $result[SearchFields_Translation::LANG_CODE];
             $string_default = $result[SearchFields_Translation::STRING_DEFAULT];
             $string_override = $result[SearchFields_Translation::STRING_OVERRIDE];
             $codes[$lang_code] = 1;
             $string = !empty($string_override) ? $string_override : $string_default;
             // [TODO] Nest multiple <tuv> in a single <tu> parent
             $eTu =& $xml->body->addChild('tu');
             /* @var $eTu SimpleXMLElement */
             $eTu->addAttribute('tuid', $string_id);
             $eTuv =& $eTu->addChild('tuv');
             /* @var $eTuv SimpleXMLElement */
             $eTuv->addAttribute('xml:lang', $lang_code, 'http://www.w3.org/XML/1998/namespace');
             $eSeg =& $eTuv->addChild('seg', htmlspecialchars($string));
             /* @var $eSeg SimpleXMLElement */
         }
     }
     $imp = new DOMImplementation();
     //		$dtd = $imp->createDocumentType('tmx', '', 'tmx14.dtd');
     //		$doc = $imp->createDocument("", "", $dtd);
     $doc = $imp->createDocument("", "");
     $doc->encoding = LANG_CHARSET_CODE;
     $doc->formatOutput = true;
     $simplexml = dom_import_simplexml($xml);
     /* @var $dom DOMElement */
     $simplexml = $doc->importNode($simplexml, true);
     $simplexml = $doc->appendChild($simplexml);
     $filename = "portsensor_lang_" . implode('_', array_keys($codes)) . ".xml";
     header("Content-type: text/xml");
     header("Content-Disposition: attachment; filename=\"{$filename}\"");
     echo $doc->saveXML();
 }
示例#5
0
 function doWorkersBulkUpdateAction()
 {
     // Checked rows
     @($ids_str = DevblocksPlatform::importGPC($_REQUEST['ids'], 'string'));
     $ids = DevblocksPlatform::parseCsvString($ids_str);
     // Filter: whole list or check
     @($filter = DevblocksPlatform::importGPC($_REQUEST['filter'], 'string', ''));
     // View
     @($view_id = DevblocksPlatform::importGPC($_REQUEST['view_id'], 'string'));
     $view = Um_AbstractViewLoader::getView($view_id);
     // Worker fields
     @($is_disabled = trim(DevblocksPlatform::importGPC($_POST['is_disabled'], 'string', '')));
     $do = array();
     // Do: Disabled
     if (0 != strlen($is_disabled)) {
         $do['is_disabled'] = $is_disabled;
     }
     // Do: Custom fields
     $do = DAO_CustomFieldValue::handleBulkPost($do);
     $view->doBulkUpdate($filter, $do, $ids);
     $view->render();
     return;
 }