Exemple #1
0
 public function test_downcase()
 {
     $this->assertEquals(Core_Strings::downcase('StRiNG'), 'string');
     $this->assertEquals(Core_Strings::downcase('ЯблоЧныЙ сироП'), 'яблочный сироп');
 }
Exemple #2
0
 public function map_type($column)
 {
     if (!empty($column['mysql_type'])) {
         return $column['mysql_type'];
     }
     $key = Core_Strings::contains(':', $column['type']) ? $column['type'] : Core_Strings::downcase($column['type']) . ':' . (isset($column['size']) ? $column['size'] : 'normal');
     return self::$type_map[$key];
 }
Exemple #3
0
 /**
  * Проверяет имеет ли письмо вложения
  *
  * @return boolean
  */
 public function is_multipart()
 {
     return Core_Strings::starts_with(Core_Strings::downcase($this->head['Content-Type']->value), 'multipart');
 }
Exemple #4
0
 static function add_component($name, $mapper, $layout = 'work')
 {
     self::$component_original_names[strtolower($name)] = $name;
     self::$component_names[strtolower($name)] = "Component_{$name}";
     self::$component_module_prefix[strtolower($name)] = "Component.{$name}";
     self::$component_names[$name] = "Component_{$name}";
     if (is_string($mapper)) {
         $mapper = Core::make($mapper);
     }
     if (self::$enable_rest && ($mapper instanceof WS_Services_REST_Application || is_array($mapper))) {
         $app = is_array($mapper) ? $mapper : array();
         if (is_string($mapper)) {
             $app['class'] = $mapper;
         }
         if (is_object($mapper)) {
             $app['instance'] = $mapper;
             $mapper->name = $name;
         }
         if (!isset($app['prefix'])) {
             $app['prefix'] = Core_Strings::downcase($name);
         }
         self::$dispatcher->map($name, $app);
     } else {
         self::$mappers[$name] = $mapper;
     }
     self::$layouts[$name] = $layout;
     $dir = self::component_dir($name);
     Text_Insertions::filter()->add_views_paths(array($dir . '/app/views', $dir . '/views'));
     Events::call('cms.add_component', $name, $mapper, $layout);
 }
Exemple #5
0
 /**
  * @return string
  */
 protected function make_name_and_views_path()
 {
     $parts = Core_Strings::split_by('_', Core_Strings::downcase(Core_Regexps::replace('{Controller$}', '', Core_Types::class_name_for($this))));
     array_shift($parts);
     $this->name = Core_Arrays::join_with('.', $parts);
     //$this->views_path = Core_Arrays::join_with('/', $parts);
 }
Exemple #6
0
 /**
  * @param string $name
  *
  * @return string
  */
 protected function http_field_name($name)
 {
     return Core_Strings::downcase(Core_Regexps::replace('{^http_}', '', $name));
 }
Exemple #7
0
 protected function inspect_columns($mapper)
 {
     $columns = array();
     foreach ($mapper->as_array() as $r) {
         $col = array();
         $col['name'] = $r['column_name'];
         if (!empty($r['check_clause']) && preg_match("!{$col['name']}\\s>=?\\s0!i", $r['check_clause'])) {
             $col['unsigned'] = true;
         }
         if (isset($columns[$col['name']])) {
             $columns[$col['name']] = array_merge($columns[$col['name']], $col);
             continue;
         }
         $col['type'] = $r['data_type'];
         list($col['type'], $col['size']) = self::flip_column($col['type']);
         $col['not null'] = $r['is_nullable'] == 'YES' ? false : true;
         $default = $r['column_default'];
         if (!is_null($default)) {
             if (Core_Strings::starts_with($default, 'nextval')) {
                 $col['type'] = 'serial';
             } else {
                 $col['default'] = preg_replace('!::.*!i', '', $default);
             }
         }
         if (!empty($r['character_maximum_length'])) {
             $col['length'] = $r['character_maximum_length'];
         }
         if (Core_Strings::downcase($r['data_type']) == 'numeric') {
             $col['type'] = 'float';
             $col['size'] = 'normal';
             $col['precision'] = $r['numeric_precision'];
             $col['scale'] = $r['numeric_scale'];
         }
         $columns[$col['name']] = $col;
     }
     return $columns;
 }