/** Генерация тега INPUT для фильтра. Значение будет подставлено если оно проходит валидацию */ public function asInput($attr = null, $value = null) { if (is_null($value)) { $value = $this->getCleanValue(); } return HTML::Input($this->getColumn(), $value, $attr); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $class = 'ORM\\' . $input->getArgument('class'); $force = $input->getOption('force'); $output->writeln(HTML::Tag('info', sprintf('Генерирую класс модели %s по схеме %s...', $class, $schema))); //Определяем неймспейс $ns = false; $path = DIR_APP; $a = explode('\\', trim(str_replace('/', '\\', $class), '\\')); $classname = array_pop($a); if (count($a)) { $ns = join('\\', $a); $path .= DIRECTORY_SEPARATOR . join(DIRECTORY_SEPARATOR, $a); } if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $code = $s->buildModel($classname, $ns); if (!is_dir($path)) { mkdir($path, 0750, true); } $file = $path . DIRECTORY_SEPARATOR . $classname . '.php'; if (!is_file($file) || $force) { file_put_contents($file, $code); $output->writeln(HTML::Tag('info', sprintf('Файл модели %s создан: %s', $classname, $file))); } else { $output->writeln(HTML::Tag('error', sprintf('Файл модели %s уже существует! Используйте опцию -f для перезаписи', $file))); } }
protected function execute(InputInterface $input, OutputInterface $output) { $output->writeln(HTML::Tag('info', 'Обновляю список команд приложения')); $this->collectTasks(); $this->filterTasks(); $this->saveList(); }
public function render() { $opt = null; if (is_array($this->options)) { $opt = HTML::OptionListing($this->options, $this->getValue(), null, (bool) $this->ignore_keys); } return HTML::Select($opt, $this->getName(), null, $this->getAttributes(false), $this->getPlaceholder()); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Загружаем данные по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->fillTable(); $output->writeln(HTML::Tag('info', 'Данные загружены')); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Обновляем структуру таблицы по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->updateTable(); $output->writeln(HTML::Tag('info', sprintf('Таблица %s%s обновлена', X::DB()->getPrefix(), $s->getTable()))); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $output->writeln(HTML::Tag('info', 'Сбрасываем таблицу схемы ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); X::DB()->drop($s->getTable())->execute(); $output->writeln(HTML::Tag('info', 'Таблица ' . $s->getTable() . ' сброшена')); }
protected function execute(InputInterface $input, OutputInterface $output) { $schema = 'Schema\\' . $input->getArgument('schema'); $drop = (bool) $input->getOption('drop'); $skip = $input->getOption('skip-content'); $output->writeln(HTML::Tag('info', 'Создаем таблицу по схеме ' . $schema)); if (!class_exists($schema)) { $output->writeln(HTML::Tag('error', sprintf('Схема %s не существует!', $schema))); return; } /** @var $s \CMSx\DB\Schema */ $s = new $schema(X::DB()); $s->createTable($drop); $output->writeln(HTML::Tag('info', sprintf('Таблица %s%s создана', X::DB()->getPrefix(), $s->getTable()))); if (!$skip) { $s->fillTable(); $output->writeln(HTML::Tag('info', 'Начальные данные загружены')); } }
protected function recursiveCopy($source, $dest, InputInterface $input, OutputInterface $output) { $force = $input->getOption('force'); $details = $input->getOption('details'); $dummy = $input->getOption('dummy'); $path = rtrim($source, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '{,.}*'; $dest = rtrim($dest, DIRECTORY_SEPARATOR); $arr = glob($path, GLOB_BRACE); foreach ($arr as $f) { $a = explode(DIRECTORY_SEPARATOR, $f); $fn = array_pop($a); $p = $dest . DIRECTORY_SEPARATOR . $fn; if ($fn == '.' || $fn == '..' || !$dummy && false !== strpos(strtolower($f), 'dummy')) { continue; } if (is_dir($f)) { if (!is_dir($p)) { if ($details) { $output->writeln('Создаю директорию: "' . $p . '"'); } mkdir($p, 0750, true); } if ($details) { $output->writeln(HTML::Tag('info', 'Копирую файлы из "' . $f . '"')); } $this->recursiveCopy($f, $p, $input, $output); } else { if (!$force && is_file($p)) { if ($details) { $output->writeln(sprintf('Файл "%s" пропущен', $f)); } continue; } if ($details) { $output->writeln(sprintf('"%s" => "%s"', $f, $p)); } copy($f, $p); } } }
public function render() { return HTML::Tag($this->tag, $this->getLabel(), $this->getAttributes(false)); }
public function render() { return HTML::CheckboxListing($this->options, $this->getName(), $this->getTaintedValue(), $this->separator, $this->ignore_keys); }
/** Атрибуты тега формы */ public function getFormAttributes($attr = null) { $a = HTML::AttrConvert($attr ?: $this->form_attributes); if ($this->name) { $a['id'] = 'form-' . $this->name; } return $a; }
public function render() { return HTML::Password($this->getName(), $this->getTaintedValue(), $this->getAttributes()); }
/** * Отрисовка канонического адреса страницы. * Домен должен быть указан при вызове, или заранее через setDomain * $domain - домен с http:// */ public function renderCanonical($domain = null) { if (is_null($domain)) { $domain = $this->getDomain(); } if (!$domain || !($c = $this->getCanonical($domain))) { return false; } $attr = array('rel' => 'canonical', 'href' => $c); return HTML::Tag('link', null, $attr, true) . "\n"; }
public function render($with_label = true) { return HTML::Checkbox($this->getName(), $this->getIsChecked(), $this->getCheckboxValue(), $this->getAttributes(false), $with_label ? $this->getLabel() : null); }
function testTextarea() { $t = HTML::Textarea('hello', 'Hi'); $this->assertEquals('<textarea name="hello">Hi</textarea>', $t, 'Пустое поле'); $t = HTML::Textarea('hello', 'bla bla', 'myclass', 10, 20); $this->assertSelectCount('textarea[class=myclass]', true, $t, 'Атрибуты'); $this->assertSelectCount('textarea[rows=10]', true, $t, 'Ряды'); $this->assertSelectCount('textarea[cols=20]', true, $t, 'Столбцы'); }
public function render() { return HTML::Textarea($this->getName(), $this->getTaintedValue(), $this->getAttributes(), $this->getRows(), $this->getCols()); }
public function render() { return HTML::Hidden($this->getName(), $this->getTaintedValue(), $this->getAttributes(false)); }
/** Варианты выбора сортировки в виде опций для SELECT */ public function getOrderByAsSelectOptions($selected = null) { if (is_null($selected)) { $o = $this->getOrderBy(); $selected = $o ? $o->asUrlParameter() : null; } return HTML::OptionListing($this->getOrderByOptionsForSelect(), $selected); }
/** Массив атрибутов для HTML тега инпута */ public function getAttributes($include_placeholder = true) { $arr = array('id' => $this->getId()); if ($include_placeholder) { $arr['placeholder'] = $this->getPlaceholder(); } return HTML::AttrConvert($this->attributes, $arr); }
/** Обработка ошибок */ protected function handleException(\Exception $e) { $p = $this->getErrorPage(); if ($e instanceof \CMSx\Controller\Exception) { $h = $e->getHTTPHeader(); if ($e->isRedirect()) { //Для редиректа страница ошибки не выводится header('Location: ' . $e->getRedirectUrl()); header($h); return false; } if ($h) { header($h); } $p->set('title', $e->getHumanMessage()); } else { $p->set('title', 'Ошибка!'); } if ($this->isDebugMode()) { $p->setText(HTML::Tag('h3', $e->getMessage()) . "\n" . HTML::Tag('p', nl2br($e->getTraceAsString()))); } $p->set('exception', $e); return $p; }