/**
  * @see Project_WrapperInterface::count_data_search()
  * @param string $string
  * @param array $project_id_array
  * @param array $item_type_array
  * @return integer
  */
 public static function count_data_search($string, $project_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 Project_Wrapper_Access::count_data_search($string, $project_id_array, $select_sql_array, $join_sql, $where_sql);
     } else {
         return null;
     }
 }