public function test_downcase() { $this->assertEquals(Core_Strings::downcase('StRiNG'), 'string'); $this->assertEquals(Core_Strings::downcase('ЯблоЧныЙ сироП'), 'яблочный сироп'); }
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]; }
/** * Проверяет имеет ли письмо вложения * * @return boolean */ public function is_multipart() { return Core_Strings::starts_with(Core_Strings::downcase($this->head['Content-Type']->value), 'multipart'); }
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); }
/** * @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); }
/** * @param string $name * * @return string */ protected function http_field_name($name) { return Core_Strings::downcase(Core_Regexps::replace('{^http_}', '', $name)); }
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; }