当前位置: 首页>>代码示例>>PHP>>正文


PHP Item::get_handling_class_by_type方法代码示例

本文整理汇总了PHP中Item::get_handling_class_by_type方法的典型用法代码示例。如果您正苦于以下问题:PHP Item::get_handling_class_by_type方法的具体用法?PHP Item::get_handling_class_by_type怎么用?PHP Item::get_handling_class_by_type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Item的用法示例。


在下文中一共展示了Item::get_handling_class_by_type方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: count_fulltext_search

 /**
  * @see Item_WrapperInterface::count_fulltext_search()
  * @param string $string
  * @param array $item_type_array
  * @param integer $language_id
  * @return integer
  */
 public static function count_fulltext_search($string, $item_type_array, $language_id)
 {
     if (is_array($item_type_array) and count($item_type_array) >= 1) {
         $string = strtolower(trim($string));
         $string = str_replace("*", "%", $string);
         $string = str_replace(" ", "", $string);
         $join_sql = "";
         $where_sql = "";
         if (is_numeric($language_id)) {
             $language = new Language($language_id);
             $tsvector_language = $language->get_tsvector_name();
         } else {
             $tsvector_language = "english";
         }
         foreach ($item_type_array as $key => $value) {
             $handling_class = Item::get_handling_class_by_type($value);
             if (class_exists($handling_class)) {
                 $join_sql .= $handling_class::get_sql_join($value);
                 if (($return_where_sql = $handling_class::get_sql_fulltext_where($value)) != null) {
                     $return_where_sql = str_replace("{STRING}", $string, $return_where_sql);
                     $return_where_sql = str_replace("{LANGUAGE}", "english", $return_where_sql);
                     if ($where_sql == "") {
                         $where_sql .= $return_where_sql;
                     } else {
                         $where_sql .= " OR " . $return_where_sql;
                     }
                 }
             }
         }
         return Item_Wrapper_Access::count_fulltext_search($string, $select_sql_array, $join_sql, $where_sql);
     } else {
         return null;
     }
 }
开发者ID:suxinde2009,项目名称:www,代码行数:41,代码来源:item.wrapper.class.php

示例2: get_current_status_requirements

 /**
  * @see ProjectInterface::get_current_status_requirements()
  * @param bool $force_inherit
  * @param integer $status_id
  * @return array
  */
 public function get_current_status_requirements($force_inherit = false, $status_id = null)
 {
     global $runtime_data;
     if ($this->project_id and $this->project) {
         if ($status_id == null) {
             $status_id = $this->get_current_status_id();
         }
         if ($runtime_data->is_object_data($this, "PROJECT_" . $this->project_id . "_" . $status_id . "_CURRENT_STATUS_REQUIREMENTS") == true) {
             return $runtime_data->read_object_data($this, "PROJECT_" . $this->project_id . "_" . $status_id . "_CURRENT_STATUS_REQUIREMENTS");
         } else {
             $project_template = new ProjectTemplate($this->project->get_template_id());
             $status_attribute_array = $project_template->get_status_attributes($status_id);
             $requirements_array = $project_template->get_status_requirements($status_id);
             if ($status_attribute_array['requirement'] == "optional") {
                 $requirement_default = "optional";
             } else {
                 $requirement_default = "force";
             }
             $return_array = array();
             $parent_item_array = array();
             $counter = 0;
             $type_counter = 0;
             $category_counter = 0;
             $fulfilled_counter = 0;
             $filter_counter = 0;
             $sub_item_counter = 0;
             if (is_array($requirements_array) and count($requirements_array) >= 1) {
                 $project_item = new ProjectItem($this->project_id);
                 $item_array = $project_item->get_project_status_items_with_pos_id($status_id);
                 $item_type_array = Item::list_types();
                 foreach ($requirements_array as $key => $value) {
                     // ITEM
                     if ($value['xml_element'] == "item" and !$value['close']) {
                         $in_item = true;
                         $return_array[$counter]['element_type'] = "item";
                         $return_array[$counter]['display'] = true;
                         $return_array[$counter]['type'] = $value['type'];
                         $return_array[$counter]['name'] = $value['name'];
                         $return_array[$counter]['dialog'] = $value['dialog'];
                         $return_array[$counter]['handling_class'] = Item::get_handling_class_by_type($value['type']);
                         if ($value['requirement'] and $status_attribute_array['requirement'] != "optional") {
                             $return_array[$counter]['requirement'] = $value['requirement'];
                         } else {
                             $return_array[$counter]['requirement'] = $requirement_default;
                         }
                         if ($value['occurrence']) {
                             $return_array[$counter]['occurrence'] = $value['occurrence'];
                         } else {
                             $return_array[$counter]['occurrence'] = "once";
                         }
                         if (is_numeric($value['pos_id'])) {
                             $pos_id = $value['pos_id'];
                             $return_array[$counter]['pos_id'] = $value['pos_id'];
                         } else {
                             $pos_id = $counter;
                             $return_array[$counter]['pos_id'] = $counter;
                         }
                         if (is_array($item_array) and count($item_array) >= 1) {
                             $item_instance_array = array();
                             foreach ($item_array as $item_key => $item_value) {
                                 if (is_array($item_type_array) and count($item_type_array) >= 1) {
                                     foreach ($item_type_array as $item_type => $item_handling_class) {
                                         if (class_exists($item_handling_class)) {
                                             if ($item_handling_class::is_kind_of($item_type, $item_value['item_id']) == true and $item_value['pos_id'] == $pos_id and $item_value['pos_id'] !== null and $pos_id !== null) {
                                                 $item_instance = $item_handling_class::get_instance_by_item_id($item_value['item_id'], true);
                                                 $return_array[$counter]['fulfilled'][$fulfilled_counter]['item_id'] = $item_value['item_id'];
                                                 $return_array[$counter]['fulfilled'][$fulfilled_counter]['id'] = $item_instance->get_item_object_id();
                                                 $return_array[$counter]['fulfilled'][$fulfilled_counter]['name'] = $item_instance->get_item_object_name();
                                                 array_push($item_instance_array, $item_instance);
                                                 $fulfilled_counter++;
                                                 break;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                         if ($value['inherit'] == "all" or $force_inherit == true) {
                             if (is_array($item_instance_array) and count($item_instance_array) >= 1 and $fulfilled_counter >= 1) {
                                 foreach ($item_instance_array as $object_key => $object_value) {
                                     if (is_object($object_value)) {
                                         if ($object_value instanceof ItemHolderInterface) {
                                             $return_array[$counter]['sub_items'][$object_key] = $object_value->get_item_add_information();
                                         }
                                     }
                                 }
                             }
                         }
                     }
                     if ($value['xml_element'] == "item" and $value['close'] == "1") {
                         $counter++;
                         $type_counter = 0;
                         $category_counter = 0;
                         $fulfilled_counter = 0;
//.........这里部分代码省略.........
开发者ID:suxinde2009,项目名称:www,代码行数:101,代码来源:project.class.php

示例3: io_handler


//.........这里部分代码省略.........
                                             if ($_GET['run'] == "item_add") {
                                                 $module_dialog['class']::$module_dialog['method']($current_status_requirements[$_GET['key']]['type_id'], $current_status_requirements[$_GET['key']]['category_id'], "Project", $_GET['project_id'], $_GET['key']);
                                             } elseif ($_GET['run'] == "item_edit") {
                                                 $module_dialog['class']::$module_dialog['method']($current_status_requirements[$_GET['key']]['fulfilled'][0]['item_id']);
                                             }
                                         }
                                     } else {
                                         throw new BaseModuleDialogMethodNotFoundException();
                                     }
                                 } else {
                                     throw new BaseModuleDialogClassNotFoundException();
                                 }
                             } else {
                                 throw new BaseModuleDialogFileNotFoundException();
                             }
                         } else {
                             throw new BaseModuleDialogNotFoundException();
                         }
                     } else {
                         throw new BaseModuleDialogMissingException();
                     }
                 } else {
                     throw new ProjectSecurityAccessDeniedException();
                 }
                 break;
                 // Sub Item Add and Edit
             // Sub Item Add and Edit
             case "sub_item_add":
             case "sub_item_edit":
                 if ($project_security->is_access(3, false) == true) {
                     if ($_GET['parent']) {
                         if (is_numeric($_GET['parent_id'])) {
                             if (is_numeric($_GET['key'])) {
                                 $item_handling_class = Item::get_handling_class_by_type($_GET['parent']);
                                 if (class_exists($item_handling_class)) {
                                     $item_io_handling_class = $item_handling_class::get_item_add_io_handling_class();
                                     if (file_exists("core/modules/" . $item_io_handling_class[0])) {
                                         require_once "core/modules/" . $item_io_handling_class[0];
                                         if (class_exists($item_io_handling_class[1])) {
                                             if ($_GET['run'] == "sub_item_add") {
                                                 $item_io_handling_class[1]::item_add_edit_handler("add");
                                             } elseif ($_GET['run'] == "sub_item_edit") {
                                                 $item_io_handling_class[1]::item_add_edit_handler("edit");
                                             }
                                         } else {
                                             throw new ItemAddIOClassNotFoundException();
                                         }
                                     } else {
                                         throw new ItemAddIOFileNotFoundException();
                                     }
                                 } else {
                                     throw new ItemHandlerClassNotFoundException();
                                 }
                             } else {
                                 throw new ItemPositionIDMissingException();
                             }
                         } else {
                             throw new ItemParentIDMissingException();
                         }
                     } else {
                         throw new ItemParentTypeMissingException();
                     }
                 } else {
                     throw new ProjectSecurityAccessDeniedException();
                 }
                 break;
开发者ID:suxinde2009,项目名称:www,代码行数:67,代码来源:project.request.php

示例4: io_handler


//.........这里部分代码省略.........
                                         if ($_GET['run'] == "item_add") {
                                             $module_dialog['class']::$module_dialog['method']($current_requirements[$_GET['key']]['type_id'], $current_requirements[$_GET['key']]['category_id'], "Sample", $_GET['sample_id'], $_GET['key']);
                                         } elseif ($_GET['run'] == "item_edit") {
                                             $module_dialog['class']::$module_dialog['method']($current_requirements[$_GET['key']]['fulfilled'][0]['item_id']);
                                         }
                                     }
                                 } else {
                                     throw new BaseModuleDialogMethodNotFoundException();
                                 }
                             } else {
                                 throw new BaseModuleDialogClassNotFoundException();
                             }
                         } else {
                             throw new BaseModuleDialogFileNotFoundException();
                         }
                     } else {
                         throw new BaseModuleDialogNotFoundException();
                     }
                 } else {
                     throw new BaseModuleDialogMissingException();
                 }
             } else {
                 throw new SampleSecurityAccessDeniedException();
             }
             break;
             // Sub Item Add
         // Sub Item Add
         case "sub_item_add":
         case "sub_item_edit":
             if ($sample_security->is_access(2, false) == true) {
                 if ($_GET['parent']) {
                     if (is_numeric($_GET['parent_id'])) {
                         if (is_numeric($_GET['key'])) {
                             $item_handling_class = Item::get_handling_class_by_type($_GET['parent']);
                             if (class_exists($item_handling_class)) {
                                 $item_io_handling_class = $item_handling_class::get_item_add_io_handling_class();
                                 if (file_exists("core/modules/" . $item_io_handling_class[0])) {
                                     require_once "core/modules/" . $item_io_handling_class[0];
                                     if (class_exists($item_io_handling_class[1])) {
                                         if ($_GET['run'] == "sub_item_add") {
                                             $item_io_handling_class[1]::item_add_edit_handler("add");
                                         } else {
                                             $item_io_handling_class[1]::item_add_edit_handler("edit");
                                         }
                                     } else {
                                         throw new ItemAddIOClassNotFoundException();
                                     }
                                 } else {
                                     throw new ItemAddIOFileNotFoundException();
                                 }
                             } else {
                                 throw new ItemHandlerClassNotFoundException();
                             }
                         } else {
                             throw new ItemPositionIDMissingException();
                         }
                     } else {
                         throw new ItemParentIDMissingException();
                     }
                 } else {
                     throw new ItemParentTypeMissingException();
                 }
             } else {
                 throw new SampleSecurityAccessDeniedException();
             }
             break;
开发者ID:suxinde2009,项目名称:www,代码行数:67,代码来源:sample.request.php

示例5: get_requirements

 /**
  * @see SampleInterface::get_requirements()
  * @param boolean $get_fulfilled
  * @return array
  */
 public function get_requirements($get_fulfilled = true)
 {
     global $runtime_data;
     if ($this->sample_id and $this->sample) {
         if ($runtime_data->is_object_data($this, "SAMPLE_" . $this->sample_id . "_REQUIREMENT_ARRAY") == true) {
             return $runtime_data->read_object_data($this, "SAMPLE_" . $this->sample_id . "_REQUIREMENT_ARRAY");
         } else {
             $sample_template = new SampleTemplate($this->sample->get_template_id());
             $requirements_array = $sample_template->get_requirements();
             $return_array = array();
             $parent_item_array = array();
             $counter = 0;
             $type_counter = 0;
             $category_counter = 0;
             $fulfilled_counter = 0;
             $filter_counter = 0;
             $sub_item_counter = 0;
             if (is_array($requirements_array) and count($requirements_array) >= 1) {
                 if ($runtime_data->is_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_TYPE_ARRAY") == true) {
                     $item_type_array = $runtime_data->read_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_TYPE_ARRAY");
                 } else {
                     $item_type_array = Item::list_types();
                     $runtime_data->write_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_TYPE_ARRAY", $item_type_array);
                 }
                 if ($runtime_data->is_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_ARRAY") == true) {
                     $item_array = $runtime_data->read_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_ARRAY");
                 } else {
                     $sample_item = new SampleItem($this->sample_id);
                     $item_array = $sample_item->get_sample_items_with_pos_id();
                     $runtime_data->write_object_data($this, "SAMPLE_" . $this->sample_id . "_FULFILLED_ITEM_ARRAY", $item_array);
                 }
                 foreach ($requirements_array as $key => $value) {
                     if ($value['xml_element'] == "item" and !$value['close']) {
                         $in_item = true;
                         $return_array[$counter]['element_type'] = "item";
                         $return_array[$counter]['display'] = true;
                         $return_array[$counter]['type'] = $value['type'];
                         $return_array[$counter]['name'] = $value['name'];
                         $return_array[$counter]['dialog'] = $value['dialog'];
                         $return_array[$counter]['handling_class'] = Item::get_handling_class_by_type($value['type']);
                         $return_array[$counter]['requirement'] = $value['requirement'];
                         if ($value['occurrence']) {
                             $return_array[$counter]['occurrence'] = $value['occurrence'];
                         } else {
                             $return_array[$counter]['occurrence'] = "once";
                         }
                         if ($value['pos_id']) {
                             $pos_id = $value['pos_id'];
                             $return_array[$counter]['pos_id'] = $value['pos_id'];
                         } else {
                             $pos_id = $counter;
                             $return_array[$counter]['pos_id'] = $counter;
                         }
                         if ($value['type'] != "parentsample") {
                             if (is_array($item_array) and count($item_array) >= 1) {
                                 $item_instance_array = array();
                                 foreach ($item_array as $item_key => $item_value) {
                                     if (is_array($item_type_array) and count($item_type_array) >= 1) {
                                         foreach ($item_type_array as $item_type => $item_handling_class) {
                                             if (class_exists($item_handling_class)) {
                                                 if ($item_handling_class::is_kind_of($item_type, $item_value['item_id']) == true and $item_value['pos_id'] == $pos_id and $item_value['pos_id'] !== null and $pos_id !== null) {
                                                     $item_instance = $item_handling_class::get_instance_by_item_id($item_value['item_id'], true);
                                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['item_id'] = $item_value['item_id'];
                                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['id'] = $item_instance->get_item_object_id();
                                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['name'] = $item_instance->get_item_object_name();
                                                     $item_instance_array[$fulfilled_counter] = $item_instance;
                                                     $fulfilled_counter++;
                                                     break;
                                                 }
                                             }
                                         }
                                     }
                                 }
                                 if ($value['inherit'] == "all" or $force_inherit == true) {
                                     if (is_array($item_instance_array) and count($item_instance_array) >= 1 and $fulfilled_counter >= 1) {
                                         foreach ($item_instance_array as $object_key => $object_value) {
                                             if (is_object($object_value)) {
                                                 if ($object_value instanceof ItemHolderInterface) {
                                                     $return_array[$counter]['sub_items'][$object_key] = $object_value->get_item_add_information();
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         } else {
                             $parent_sample_array = SampleItem::list_sample_id_by_item_id_and_gid_and_parent($this->get_item_id(), $pos_id);
                             if (is_array($parent_sample_array) and count($parent_sample_array) >= 1) {
                                 foreach ($parent_sample_array as $parent_sample_key => $parent_sample_value) {
                                     $item_instance = new Sample($parent_sample_value);
                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['item_id'] = $item_instance->get_item_id();
                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['id'] = $parent_sample_value;
                                     $return_array[$counter]['fulfilled'][$fulfilled_counter]['name'] = $item_instance->get_item_object_name();
                                     $item_instance_array[$fulfilled_counter] = $item_instance;
                                     $fulfilled_counter++;
//.........这里部分代码省略.........
开发者ID:suxinde2009,项目名称:www,代码行数:101,代码来源:sample.class.php

示例6: count_data_search

 /**
  * @see Sample_WrapperInterface::count_data_search()
  * @param string $string
  * @param array $sample_id_array
  * @param array $item_type_array
  * @return integer
  */
 public static function count_data_search($string, $sample_id_array, $item_type_array)
 {
     if (is_array($item_type_array) and count($item_type_array) >= 1) {
         $string = strtolower(trim($string));
         $string = str_replace("*", "%", $string);
         $join_sql = "";
         $where_sql = "";
         foreach ($item_type_array as $key => $value) {
             $handling_class = Item::get_handling_class_by_type($value);
             if (class_exists($handling_class)) {
                 $join_sql .= $handling_class::get_sql_join($value);
                 if (($return_where_sql = $handling_class::get_sql_where($value)) != null) {
                     $return_where_sql = str_replace("{STRING}", $string, $return_where_sql);
                     if ($where_sql == "") {
                         $where_sql .= $return_where_sql;
                     } else {
                         $where_sql .= " OR " . $return_where_sql;
                     }
                 }
             }
         }
         return Sample_Wrapper_Access::count_data_search($string, $sample_id_array, $select_sql_array, $join_sql, $where_sql);
     } else {
         return null;
     }
 }
开发者ID:suxinde2009,项目名称:www,代码行数:33,代码来源:sample.wrapper.class.php

示例7: interpret

 private function interpret($word)
 {
     switch ($word) {
         case "list":
             if (is_array($this->temp)) {
                 array_push($this->stack, "list");
                 $this->result = $this->temp;
                 unset($this->temp);
             }
             break;
         case "typeof":
             array_push($this->stack, "typeof");
             break;
         case "getName":
             $item_type_array = Item::list_types();
             if (is_array($this->result)) {
                 $new_result = array();
                 foreach ($this->result as $key => $value) {
                     if (is_array($item_type_array) and count($item_type_array) >= 1) {
                         foreach ($item_type_array as $item_type_key => $item_type_value) {
                             if (class_exists($item_type_value)) {
                                 if ($item_type_value::is_kind_of($item_type_key, $value)) {
                                     $instance = $item_type_value::get_instance_by_item_id($value);
                                     if (!in_array($instance->get_item_object_name(), $new_result)) {
                                         array_push($new_result, $instance->get_item_object_name());
                                     }
                                 }
                             }
                         }
                     }
                 }
                 $this->result = $new_result;
             } else {
                 if (is_array($item_type_array) and count($item_type_array) >= 1) {
                     foreach ($item_type_array as $key => $value) {
                         if (class_exists($value)) {
                             if ($value::is_kind_of($key, $this->stack[count($this->stack) - 1])) {
                                 $instance = $value::get_instance_by_item_id($this->stack[count($this->stack) - 1]);
                                 $this->result = $instance->get_item_object_name();
                             }
                         }
                     }
                 }
             }
             break;
         case "parents":
             $item_type_array = Item::list_types();
             if (is_array($item_type_array) and count($item_type_array) >= 1) {
                 foreach ($item_type_array as $key => $value) {
                     if (class_exists($value)) {
                         if ($value::is_kind_of($key, $this->stack[count($this->stack) - 1])) {
                             $instance = $value::get_instance_by_item_id($this->stack[count($this->stack) - 1]);
                             $this->temp = $instance->get_item_parents();
                         }
                     }
                 }
             }
             break;
         default:
             if (is_numeric($word) or strpos(strtolower($word), "c") === 0) {
                 if ($this->stack[count($this->stack) - 1] == "typeof") {
                     if (strpos(strtolower($word), "c") === 0) {
                         $category_id = (int) str_replace("c", "", $word);
                         $type_id = null;
                     } else {
                         $category_id = null;
                         $type_id = $word;
                     }
                     $handling_class = $this->handling_class;
                     if (is_array($this->result) and count($this->result) >= 1) {
                         $new_result = array();
                         foreach ($this->result as $key => $value) {
                             if ($handling_class::is_type_or_category($category_id, $type_id, $value) == true) {
                                 array_push($new_result, $value);
                             }
                         }
                         $this->result = $new_result;
                     }
                 }
             } else {
                 $this->handling_class = Item::get_handling_class_by_type($word);
                 $handling_class = $this->handling_class;
                 if (class_exists($handling_class)) {
                     if (is_array($this->temp) and count($this->temp) >= 1) {
                         $new_temp = array();
                         foreach ($this->temp as $key => $value) {
                             if ($handling_class::is_kind_of($word, $value) == true) {
                                 array_push($new_temp, $value);
                             }
                         }
                         $this->temp = $new_temp;
                     } else {
                         // Too slow
                     }
                 }
             }
             break;
     }
     if (count($this->string_array) == 0) {
         return $this->result;
//.........这里部分代码省略.........
开发者ID:suxinde2009,项目名称:www,代码行数:101,代码来源:item_value_var.class.php


注:本文中的Item::get_handling_class_by_type方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。