Exemple #1
0
 function do_guiBuilder()
 {
     $this->oPage->setBreadcrumbDetails(_kt("Advanced Search"));
     $this->oPage->title = _kt("Advanced Search");
     $result = array();
     // TODO: need to escape the parameters
     $result['fieldsets'] = SearchHelper::getFieldsets();
     $result['fieldset_str'] = SearchHelper::getJSfieldsetStruct($result['fieldsets']);
     $result['workflows'] = SearchHelper::getWorkflows();
     $result['workflow_str'] = SearchHelper::getJSworkflowStruct($result['workflows']);
     $result['fields'] = SearchHelper::getSearchFields();
     $result['fields_str'] = SearchHelper::getJSfieldsStruct($result['fields']);
     $result['users_str'] = SearchHelper::getJSusersStruct();
     $result['mimetypes_str'] = SearchHelper::getJSmimeTypesStruct();
     $result['documenttypes_str'] = SearchHelper::getJSdocumentTypesStruct();
     $oTemplating =& KTTemplating::getSingleton();
     $oTemplate = $oTemplating->loadTemplate("ktcore/search2/adv_query_builder");
     $aTemplateData = array("context" => $this, 'metainfo' => $result);
     return $oTemplate->render($aTemplateData);
 }
 public static function getJSworkflowStruct($workflows = null)
 {
     if (is_null($workflows)) {
         $workflows = SearchHelper::getWorkflows();
     }
     $workflow_str = '[';
     $wo = 0;
     foreach ($workflows as $workflow) {
         if ($wo++ > 0) {
             $workflow_str .= ',';
         }
         $wid = $workflow['id'];
         $name = searchfix($workflow['name']);
         $workflow_str .= "\n\t{id:\"{$wid}\", name: \"{$name}\", states: [ ";
         $result['workflows'][$wid] = $workflow;
         $states = SearchHelper::getWorkflowStates($wid);
         $result['workflows'][$wid]['states'] = array();
         $so = 0;
         foreach ($states as $state) {
             if ($so++ > 0) {
                 $workflow_str .= ',';
             }
             $sid = $state['id'];
             $name = searchfix($state['name']);
             $result['workflows'][$wid]['states'][$sid] = $state;
             $workflow_str .= "\n\t\t{id:\"{$wid}\", name: \"{$name}\"}";
         }
         $workflow_str .= ']}';
     }
     $workflow_str .= ']';
     return $workflow_str;
 }