コード例 #1
0
 function get_module_view_defs($moduleName, $type, $view)
 {
     require_once 'include/MVC/View/SugarView.php';
     $metadataFile = null;
     $results = array();
     if (empty($moduleName)) {
         return $results;
     }
     $view = strtolower($view);
     if ($view == 'subpanel') {
         $results = $this->get_subpanel_defs($moduleName, $type);
     } else {
         $v = new SugarView(null, array());
         $v->module = $moduleName;
         $v->type = $view;
         $fullView = ucfirst($view) . 'View';
         $metadataFile = $v->getMetaDataFile();
         require_once $metadataFile;
         if ($view == 'list') {
             $results = $listViewDefs[$moduleName];
         } else {
             $results = $viewdefs[$moduleName][$fullView];
         }
     }
     //Add field level acls.
     $results = $this->addFieldLevelACLs($moduleName, $type, $view, $results);
     return $results;
 }
コード例 #2
0
 function get_module_view_defs($moduleName, $type, $view)
 {
     require_once 'include/MVC/View/SugarView.php';
     $metadataFile = null;
     $results = array();
     if (empty($moduleName)) {
         return $results;
     }
     $view = strtolower($view);
     switch (strtolower($type)) {
         case 'wireless':
             if ($view == 'list') {
                 require_once 'include/SugarWireless/SugarWirelessListView.php';
                 $GLOBALS['module'] = $moduleName;
                 //WirelessView keys off global variable not instance variable...
                 $v = new SugarWirelessListView();
                 $results = $v->getMetaDataFile();
                 $results = self::formatWirelessListViewResultsToArray($results);
             } elseif ($view == 'subpanel') {
                 $results = $this->get_subpanel_defs($moduleName, $type);
             } else {
                 require_once 'include/SugarWireless/SugarWirelessView.php';
                 $v = new SugarWirelessView();
                 $v->module = $moduleName;
                 $fullView = ucfirst($view) . 'View';
                 $meta = $v->getMetaDataFile('Wireless' . $fullView);
                 $metadataFile = $meta['filename'];
                 require $metadataFile;
                 //Wireless detail metadata may actually be just edit metadata.
                 $results = isset($viewdefs[$meta['module_name']][$fullView]) ? $viewdefs[$meta['module_name']][$fullView] : $viewdefs[$meta['module_name']]['EditView'];
             }
             break;
         case 'default':
         default:
             if ($view == 'subpanel') {
                 $results = $this->get_subpanel_defs($moduleName, $type);
             } else {
                 $v = new SugarView(null, array());
                 $v->module = $moduleName;
                 $v->type = $view;
                 $fullView = ucfirst($view) . 'View';
                 $metadataFile = $v->getMetaDataFile();
                 require_once $metadataFile;
                 if ($view == 'list') {
                     $results = $listViewDefs[$moduleName];
                 } else {
                     $results = $viewdefs[$moduleName][$fullView];
                 }
             }
     }
     //Add field level acls.
     $results = $this->addFieldLevelACLs($moduleName, $type, $view, $results);
     return $results;
 }
コード例 #3
0
ファイル: SearchUtils.php プロジェクト: jglaine/sugar761-ent
function get_fts_list($qry_arr, $isMultiSelect = false, $ajaxSort = false)
{
    global $current_language, $current_user;
    global $urlPrefix, $currentModule, $theme;
    $current_module_strings = return_module_language($current_language, 'KBDocuments');
    // focus_list is the means of passing data to a ListView.
    global $focus_list;
    require_once 'include/ListView/ListViewSmarty.php';
    $view = new SugarView();
    $view->type = 'list';
    $view->module = 'KBDocuments';
    $metadataFile = $view->getMetaDataFile();
    require_once $metadataFile;
    require_once 'modules/KBDocuments/KBListViewData.php';
    // clear the display columns back to default when clear query is called
    if (!empty($_REQUEST['clear_query']) && $_REQUEST['clear_query'] == 'true') {
        $current_user->setPreference('ListViewDisplayColumns', array(), 0, $currentModule);
    }
    $savedDisplayColumns = $current_user->getPreference('ListViewDisplayColumns', $currentModule);
    // get user defined display columns
    $json = getJSONobj();
    $seedDocument = BeanFactory::getBean('KBDocuments');
    // seed bean
    // setup listview smarty
    $lv = new ListViewSmarty();
    $lv->lvd = new KBListViewData();
    $displayColumns = array();
    // check $_REQUEST if new display columns from post
    if (!empty($_REQUEST['displayColumns'])) {
        foreach (explode('|', $_REQUEST['displayColumns']) as $num => $col) {
            if (!empty($listViewDefs['KBDocuments'][$col])) {
                $displayColumns[$col] = $listViewDefs['KBDocuments'][$col];
            }
        }
    } elseif (!empty($savedDisplayColumns)) {
        // use user defined display columns from preferences
        $displayColumns = $savedDisplayColumns;
    } else {
        // use columns defined in listviewdefs for default display columns
        foreach ($listViewDefs['KBDocuments'] as $col => $params) {
            if (!empty($params['default']) && $params['default']) {
                $displayColumns[$col] = $params;
            }
        }
    }
    //disable mass update form
    $params = array('massupdate' => false);
    //process orderBy if set in request
    if (!empty($_REQUEST['orderBy'])) {
        $params['orderBy'] = $_REQUEST['orderBy'];
        $params['overrideOrder'] = true;
        if (!empty($_REQUEST['sortOrder'])) {
            $params['sortOrder'] = $_REQUEST['sortOrder'];
        }
    }
    //if ajax sort is set, then pass in param to display columns array that will change
    //the sort urls to be javascript based within tpl
    if ($ajaxSort) {
        foreach ($displayColumns as $col => $coldata) {
            $coldata['ajaxSort'] = true;
            $displayColumns[$col] = $coldata;
        }
    }
    $lv->displayColumns = $displayColumns;
    //grab the where and custom from clauses from passed in query
    $where = '';
    //check to see if param is a string
    if (is_string($qry_arr)) {
        //only the where string is passed in, just populate the where
        $where = $qry_arr;
    } elseif (is_array($qry_arr)) {
        //array was passed in, populate the where and custom_from
        if (isset($qry_arr['where'])) {
            $where = $qry_arr['where'];
        }
        if (isset($qry_arr['custom_from'])) {
            $params['custom_from'] = $qry_arr['custom_from'];
        }
    }
    if (!isset($where)) {
        $where = "";
    }
    global $listViewDefs;
    //disable some features.
    $lv->multiSelect = $isMultiSelect;
    $lv->lvd->additionalDetailsAjax = false;
    $lv->export = false;
    $lv->show_mass_update_form = false;
    $lv->show_action_dropdown = false;
    $lv->delete = false;
    $lv->select = false;
    $lv->setup($seedDocument, 'modules/KBDocuments/SearchListView.tpl', $where, $params);
    $savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : ' - ' . $_REQUEST['saved_search_select_name'];
    //if this is a sort from browse tab, then set the ajaxsort flag to true
    if ($ajaxSort) {
        $lv->data['pageData']['urls']['ajaxSort'] = true;
    }
    //begin code that will remove single and double quotes for javascript use
    $temp_Data = array();
    //iterate through each record returned in list
    if (isset($lv->data['data']) && $lv->data['data'] != null) {
        foreach ($lv->data['data'] as $arrRec) {
            //if document name is set, then process
            if (isset($arrRec['KBDOCUMENT_NAME']) && !empty($arrRec['KBDOCUMENT_NAME'])) {
                $GLOBALS['log']->info("name of record getting quotes stripped is: " . $arrRec['KBDOCUMENT_NAME']);
                if (!empty($arrRec['KBDOCUMENT_NAME'])) {
                    $temp_name = $arrRec['KBDOCUMENT_NAME'];
                }
                //replace single and double quotes with empty string
                $temp_name = str_replace(''', '', $temp_name);
                $temp_name = str_replace('\'', '', $temp_name);
                $temp_name = str_replace('"', '', $temp_name);
                $temp_name = str_replace('"', '', $temp_name);
                //set to new element variable that will be used for javascript
                $arrRec['KBDOCUMENT_NAME_js'] = $temp_name;
                $temp_Data[] = $arrRec;
            }
        }
    }
    //set records back into data array
    $lv->data['data'] = $temp_Data;
    //return display string, note that display is taking false as parameter so as to disable
    //massupdate form
    return $lv->display(false);
}
コード例 #4
0
 function get_module_view_defs($module_name, $type, $view)
 {
     $metadataFile = null;
     $results = array();
     $view = strtolower($view);
     switch (strtolower($type)) {
         case 'default':
         default:
             if ($view == 'subpanel') {
                 $results = $this->get_subpanel_defs($module_name, $type);
             } else {
                 $v = new SugarView(null, array());
                 $v->module = $module_name;
                 $v->type = $view;
                 $fullView = ucfirst($view) . 'View';
                 $metadataFile = $v->getMetaDataFile();
                 require_once $metadataFile;
                 if ($view == 'list') {
                     $results = $listViewDefs[$module_name];
                 } else {
                     $results = $viewdefs[$module_name][$fullView];
                 }
             }
     }
     return $results;
 }
コード例 #5
0
ファイル: SugarBean.php プロジェクト: jglaine/sugar761-ent
 function updateDependentFieldForListView($listview_def_main = '', $filter_fields = null)
 {
     static $listview_def = '';
     static $module_name = '';
     // for subpanels
     if (!empty($listview_def_main)) {
         $listview_def = $listview_def_main;
     } elseif (empty($listview_def) || $module_name != $this->module_name) {
         $view = new SugarView();
         $view->type = 'list';
         $view->module = $this->module_name;
         $listview_meta_file = $view->getMetaDataFile();
         if (!empty($listview_meta_file)) {
             require $listview_meta_file;
             if (isset($listViewDefs[$this->module_name])) {
                 $listview_def = $listViewDefs[$this->module_name];
             } else {
                 if (isset($listViewDefs[$this->object_name])) {
                     $listview_def = $listViewDefs[$this->object_name];
                 }
             }
         }
         $module_name = $this->module_name;
     }
     $this->updateDependentField($filter_fields);
     $this->is_updated_dependent_fields = true;
 }
コード例 #6
0
 public function testgetMetaDataFile()
 {
     $SugarView = new SugarView();
     //first execute the method with missing attributes. it should return Null.
     $metaDataFile = $SugarView->getMetaDataFile();
     $this->assertEquals(null, $metaDataFile);
     //second execute the method with valid attributes set. it should return a file path string.
     $SugarView->type = 'detail';
     $SugarView->module = 'Users';
     $metaDataFile = $SugarView->getMetaDataFile();
     $this->assertGreaterThan(0, strlen($metaDataFile));
 }