Example #1
0
 function get_vardef_array($use_singular = false, $remove_dups = false, $use_field_name = false, $use_field_label = false)
 {
     global $dictionary;
     global $current_language;
     global $app_strings;
     global $app_list_strings;
     $temp_module_strings = return_module_language($current_language, $this->module_object->module_dir);
     $base_array = $this->module_object->field_defs;
     //$base_array = $dictionary[$this->module_object->object_name]['fields'];
     ///Inclue empty none set or not
     if ($this->start_none == true) {
         if (!empty($this->start_none_lbl)) {
             $this->options_array[''] = $this->start_none_lbl;
         } else {
             $this->options_array[''] = $app_strings['LBL_NONE'];
         }
     }
     ///used for special one off items added to filter array	 ex. would be href link for alert templates
     if (!empty($this->extra_array)) {
         foreach ($this->extra_array as $key => $value) {
             $this->options_array[$key] = $value;
         }
     }
     /////////end special one off//////////////////////////////////
     foreach ($base_array as $key => $value_array) {
         $compare_results = $this->compare_type($value_array);
         if ($compare_results == true) {
             $label_name = '';
             if ($value_array['type'] == 'link' && !$use_field_label) {
                 $this->module_object->load_relationship($value_array['name']);
                 if (!empty($app_list_strings['moduleList'][$this->module_object->{$value_array}['name']->getRelatedModuleName()])) {
                     $label_name = $app_list_strings['moduleList'][$this->module_object->{$value_array}['name']->getRelatedModuleName()];
                 } else {
                     $label_name = $this->module_object->{$value_array}['name']->getRelatedModuleName();
                 }
             } else {
                 if (!empty($value_array['vname'])) {
                     $label_name = $value_array['vname'];
                 } else {
                     $label_name = $value_array['name'];
                 }
             }
             $label_name = get_label($label_name, $temp_module_strings);
             if (!empty($value_array['table'])) {
                 //Custom Field
                 $column_table = $value_array['table'];
             } else {
                 //Non-Custom Field
                 $column_table = $this->module_object->table_name;
             }
             if ($value_array['type'] == 'link') {
                 if ($use_field_name) {
                     $index = $value_array['name'];
                 } else {
                     $index = $this->module_object->{$key}->getRelatedModuleName();
                 }
             } else {
                 $index = $key;
             }
             $value = trim($label_name, ':');
             if ($remove_dups) {
                 if (!in_array($value, $this->options_array)) {
                     $this->options_array[$index] = $value;
                 }
             } else {
                 $this->options_array[$index] = $value;
             }
             //end if field is included
         }
         //end foreach
     }
     if ($use_singular == true) {
         return convert_module_to_singular($this->options_array);
     } else {
         return $this->options_array;
     }
     //end get_vardef_array
 }
Example #2
0
 /**
  * Get list of related module for $module_name
  * @param string $module_name
  * @return array
  * 	return list of related module. Array keys - system modules name, array values - translated modules name
  */
 public static function getRelatedModules($module_name)
 {
     require_once 'include/VarDefHandler/VarDefHandler.php';
     global $beanList, $app_list_strings;
     $seed = new $beanList[$module_name]();
     $options_array = array();
     foreach ($seed->field_defs as $key => $value_array) {
         if ($value_array['type'] == 'link') {
             $name = $value_array['name'];
             $seed->load_relationship($name);
             if (!isset($seed->{$name})) {
                 continue;
             }
             if (!method_exists($seed->{$name}, 'getRelatedModuleName')) {
                 continue;
             }
             $relate_module = $seed->{$name}->getRelatedModuleName();
             if (!empty($app_list_strings['moduleList'][$relate_module])) {
                 $label = $app_list_strings['moduleList'][$relate_module];
             } else {
                 $label = $relate_module;
             }
             $label = trim($label, ':');
             if (!isset($options_array[$relate_module])) {
                 $options_array[$relate_module] = $label;
             }
         }
     }
     $options_array = convert_module_to_singular($options_array);
     return $options_array;
 }
Example #3
0
 function get_module_array($use_object_name = false, $start_none = false)
 {
     if ($use_object_name == true) {
         return convert_module_to_singular(get_module_map($start_none));
     } else {
         return get_module_map();
     }
     //end function get_module_array
 }
Example #4
0
 function get_selector_array($type, $value, $dom_name, $text_only_array = false, $meta_filter_name = "", $only_related_modules = false, $trigger_type = "", $only_plural = false)
 {
     global $app_list_strings;
     global $current_language;
     if ($type == 'assigned_user_id' || $type == 'assigned_user_name') {
         $select_array = get_user_array(TRUE, "Active", "", true, null, ' AND is_group=0 ');
     }
     if ($type == 'team_list') {
         $select_array = get_team_array();
     }
     if ($type == 'role') {
         $select_array = get_bean_select_array(true, 'ACLRole', 'name');
     }
     if ($type == 'dom_array') {
         if (!empty($app_list_strings[$dom_name])) {
             $select_array = $app_list_strings[$dom_name];
         }
         ksort($select_array);
     }
     if ($type == 'field') {
         $temp_module = BeanFactory::getBean($dom_name);
         if (!is_object($temp_module)) {
             //var_dump($dom_name);
             //display_stack_trace(true);
             $GLOBALS['log']->fatal("get_selector_array: Unknown module: {$dom_name}");
             return null;
         }
         if (isset($trigger_type) && !empty($trigger_type)) {
             global $process_dictionary;
             include_once 'modules/WorkFlowTriggerShells/MetaArray.php';
             if (array_key_exists("trigger_type_override", $process_dictionary['TriggersCreateStep1']['elements'][$trigger_type])) {
                 //we have found an override
                 $meta_filter_name = $process_dictionary['TriggersCreateStep1']['elements'][$trigger_type]['trigger_type_override'];
             }
         }
         $temp_module->call_vardef_handler($meta_filter_name);
         if ($_GET['opener_id'] == 'rel_module') {
             $temp_select_array = $temp_module->vardef_handler->get_vardef_array(false, false, true, false, true);
             $select_array = getDuplicateRelationListWithTitle($temp_select_array, $temp_module->vardef_handler->module_object->field_defs, $temp_module->vardef_handler->module_object->module_dir);
         } else {
             $select_array = $temp_module->vardef_handler->get_vardef_array(true, false, false, false, true);
             $select_array = array_unique($select_array);
             asort($select_array);
         }
         //end if type is field
     }
     if ($type == 'module_list') {
         if ($only_related_modules) {
             global $beanList;
             $temp_module = BeanFactory::getBean($dom_name);
             $temp_module->call_vardef_handler("rel_filter");
             $select_array = $temp_module->vardef_handler->get_vardef_array(true, true, true, true);
         } else {
             if ($meta_filter_name == "singular") {
                 $select_array = convert_module_to_singular(get_module_map(false));
             } else {
                 $select_array = get_module_map();
             }
         }
         unset($select_array["Forecasts"]);
         unset($select_array["Products"]);
         unset($select_array["Documents"]);
         asort($select_array);
         //end if type is module_list
     }
     if (!empty($select_array)) {
         if ($text_only_array == true) {
             return $select_array;
         } else {
             return get_select_options_with_id($select_array, $value);
         }
     } else {
         return null;
     }
     //end get_selector_array
 }