/** * getUrl * * @return string */ protected function getUrl() { $package = PackageHelper::getPackage($this->package); $package = $package ?: Ioc::get('current.package'); $route = $this->get('route', $this->route) ?: $this->view; $query = $this->get('query', $this->query); return $package->router->html($route, array_merge(array('layout' => 'modal', 'selector' => '#' . $this->getId() . '-wrap', 'function' => 'Natika.Field.Modal.select'), $query)); }
/** * phoenixName * * @return string */ protected static function phoenixName() { static $name; if ($name) { return $name; } return $name = PackageHelper::getAlias(PhoenixPackage::class); }
/** * loadAll * * @param string $package * @param string $format * * @return void */ public static function loadAll($package, $format = 'ini') { if (is_string($package)) { $package = PackageHelper::getPackage($package); } if (!$package) { return; } $path = $package->getDir() . '/Resources/language'; static::loadAllFromPath($path, $format, $package); }
/** * doExecute * * @return integer */ protected function doExecute() { DateTimeHelper::setDefaultTimezone(); $this->out()->out('Vaseman generator')->out('-----------------------------')->out()->out('<comment>Start generating site</comment>')->out(); $controller = new GetController(); $event = new Event('onBeforeRenderFiles'); $event['config'] = $this->app->getConfig(); $event['controller'] = $controller; $event['io'] = $this->io; Ioc::getDispatcher()->triggerEvent($event); $dataRoot = $this->app->get('project.path.data', WINDWALKER_ROOT); $folders = $this->app->get('folders', array()); $controller->setPackage(PackageHelper::getPackage('vaseman')); $controller->setApplication($this->app); $assets = array(); $processors = array(); foreach ($folders as $folder) { $files = Filesystem::files($dataRoot . '/' . $folder, true); foreach ($files as $file) { $asset = new Asset($file, $dataRoot . '/' . $folder); $layout = Path::clean($asset->getPath(), '/'); $input = new Input(array('paths' => explode('/', $layout))); $config = $controller->getConfig(); $config->set('layout.path', $asset->getRoot()); $config->set('layout.folder', $folder); $controller->setInput($input)->execute(); $processors[] = $controller->getProcessor(); } } $event->setName('onAfterRenderFiles'); $event['processors'] = $processors; Ioc::getDispatcher()->triggerEvent($event); $event->setName('onBeforeWriteFiles'); Ioc::getDispatcher()->triggerEvent($event); $dir = $this->getOption('dir'); $dir = $dir ?: $this->app->get('outer_project') ? "" : 'output'; $dir = $this->app->get('project.path.root') . '/' . $dir; /** @var AbstractFileProcessor $processor */ foreach ($processors as $processor) { $file = Path::clean($dir . '/' . $processor->getTarget()); $this->out('<info>Write file</info>: ' . $file); Folder::create(dirname($file)); file_put_contents($file, $processor->getOutput()); } $event->setName('onAfterWriteFiles'); Ioc::getDispatcher()->triggerEvent($event); $this->out()->out('<info>Complete</info>')->out(); return 0; }
/** * Do this execute. * * @return mixed */ protected function doExecute() { $this->io->out('[<comment>SQL</comment>] Running migrations'); $package = 'gen_' . $this->config['replace.package.name.lower']; if (!PackageHelper::getPackage($package)) { $packageClass = sprintf('%s%s\\%sPackage', $this->config['replace.package.namespace'], $this->config['replace.package.name.cap'], $this->config['replace.package.name.cap']); PackageHelper::getInstance()->addPackage($package, $packageClass); } $dir = WINDWALKER_SOURCE . '/' . str_replace('\\', '/', MvcHelper::getPackageNamespace($packageClass, 1)) . '/Migration'; /** @var WindwalkerConsole $app */ $app = Ioc::getApplication(); // A dirty work to call migration command. /** @var IOInterface $io */ $io = clone $this->io->getIO(); $io->setArguments(array('migration', 'migrate')); $io->setOption('d', $dir); $io->setOption('seed', null); $io->setOption('s', null); $io->setOption('no-backup', true); $app->getRootCommand()->setIO($io)->execute(); }
/** * doExecute * * @return int */ protected function doExecute() { $path = $this->getArgument(0); $package = $this->getOption('p'); $folder = $this->console->get('asset.folder', 'asset'); if ($package = PackageHelper::getPackage($package)) { $path = $package->getDir() . '/Resources/asset/' . $path; } else { $path = WINDWALKER_PUBLIC . '/' . trim($folder, '/') . '/' . $path; } if (is_file($path)) { $files = array(new \SplFileInfo($path)); } elseif (is_dir($path)) { $files = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, \FilesystemIterator::FOLLOW_SYMLINKS)); } else { throw new \InvalidArgumentException('No path'); } /** @var \SplFileInfo $file */ foreach ($files as $file) { $ext = File::getExtension($file->getPathname()); if (StringHelper::endsWith($file->getBasename(), '.min.' . $ext)) { continue; } if ($ext == 'css') { $this->out('[<comment>Compressing</comment>] ' . $file); $data = \Minify_CSS_Compressor::process(file_get_contents($file)); $data = str_replace("\n", ' ', $data); } elseif ($ext == 'js') { $this->out('[<comment>Compressing</comment>] ' . $file); $data = \JSMinPlus::minify(file_get_contents($file)); $data = str_replace("\n", ';', $data); } else { continue; } $newName = $file->getPath() . '/' . File::stripExtension($file->getBasename()) . '.min.' . $ext; file_put_contents($newName, $data); $this->out('[<info>Compressed</info>] ' . $newName); } }
/** * testGetModel * * @return void */ public function testGetModel() { $ctrl = PackageHelper::getPackage()->getController('Page/GetController'); $this->assertInstanceOf(Model::class, $ctrl->getModel()); }
/** * getUrl * * @return string */ protected function getUrl() { $package = PackageHelper::getPackage($this->package); $package = $package ?: PackageHelper::getPackage(); $route = $this->get('route', $this->route) ?: $this->view; $query = $this->get('query', $this->query); return $package->router->route($route, array_merge(array('layout' => 'modal', 'selector' => '#' . $this->getId() . '-wrap', 'function' => $this->get('function', 'Phoenix.Field.Modal.select')), $query)); }
/** * setUp * * @return void */ public function setUp() { $this->controller = new GetController(null, Ioc::getApplication(), Ioc::factory(), PackageHelper::getPackage('vaseman')); }