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);
 }
Exemple #2
0
 public static function getFieldsets()
 {
     $rs = SearchHelper::getFieldsets();
     if (PEAR::isError($rs)) {
         AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL, $rs->getMessage());
     }
     AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS, null, 'fieldsets', $rs);
 }
 public static function getJSfieldsetStruct($fieldsets = null)
 {
     if (is_null($fieldsets)) {
         $fieldsets = SearchHelper::getFieldsets();
     }
     $fieldset_str = '[';
     $fso = 0;
     foreach ($fieldsets as $fieldset) {
         $fsid = $fieldset['id'];
         $name = searchfix($fieldset['name']);
         $desc = searchfix($fieldset['description']);
         if ($fso++ > 0) {
             $fieldset_str .= ',';
         }
         $fieldset_str .= "\n\t{id:\"{$fsid}\",name:\"{$name}\",description:\"{$desc}\", fields: [";
         $result['fieldsets'][$fsid] = $fieldset;
         $fields = SearchHelper::getFields($fsid);
         $result['fieldsets'][$fsid]['fields'] = array();
         $fo = 0;
         foreach ($fields as $field) {
             if ($fo++ > 0) {
                 $fieldset_str .= ',';
             }
             $fid = $field['id'];
             $name = searchfix($field['name']);
             $desc = searchfix($field['description']);
             $datatype = $field['datatype'];
             $control = $field['control'];
             $fieldset_str .= "\n\t\t{id:\"{$fid}\", name:\"{$name}\", description:\"{$desc}\", datatype:\"{$datatype}\", control:\"{$control}\", options: [";
             $options = $field['options'];
             $oo = 0;
             if (!is_array($options)) {
                 $options = array();
             }
             foreach ($options as $option) {
                 if ($oo++ > 0) {
                     $fieldset_str .= ',';
                 }
                 $oid = $option['id'];
                 $name = searchfix($option['name']);
                 $fieldset_str .= "\n\t\t\t{id: \"{$oid}\", name: \"{$name}\"}";
             }
             $fieldset_str .= ']}';
             $result['fieldsets'][$fsid]['fields'][$fid] = $field;
         }
         $fieldset_str .= ']}';
     }
     $fieldset_str .= ']';
     return $fieldset_str;
 }