/** * Bootstrap the module * * @param Application $application * @return void */ public static function bootstrap(Application $application) { $resources = $application->config()['resources']; $params = $application->services()->getParams('nav.phire'); $config = $application->module('phire-media'); $models = isset($config['models']) ? $config['models'] : null; $libraries = Table\MediaLibraries::findAll(['order' => 'order ASC']); foreach ($libraries->rows() as $library) { if (null !== $models) { if (!isset($models['Phire\\Media\\Model\\Media'])) { $models['Phire\\Media\\Model\\Media'] = []; } $models['Phire\\Media\\Model\\Media'][] = ['type_field' => 'library_id', 'type_value' => $library->id, 'type_name' => $library->name]; } $resources['media-library-' . $library->id . '|media-library-' . str_replace(' ', '-', strtolower($library->name))] = ['index', 'add', 'edit', 'remove']; if (!isset($params['tree']['media']['children'])) { $params['tree']['media']['children'] = []; } $params['tree']['media']['children']['media-library-' . $library->id] = ['name' => $library->name, 'href' => '/media/' . $library->id, 'acl' => ['resource' => 'media-library-' . $library->id, 'permission' => 'index']]; } $application->mergeConfig(['resources' => $resources]); $application->services()->setParams('nav.phire', $params); if (null !== $models) { $application->module('phire-media')->mergeConfig(['models' => $models]); } }
/** * Index action method * * @return void */ public function index($id = null) { $this->prepareView('image/index.phtml'); $libraries = []; if (class_exists('Phire\\Media\\Table\\MediaLibraries')) { $libs = \Phire\Media\Table\MediaLibraries::findAll(['order' => 'order ASC']); foreach ($libs->rows() as $lib) { $libraries[$lib->id] = $lib->name; } } $this->view->editor_height = $this->application->module('phire-image')['editor_height']; $this->view->libraries = $libraries; if (null !== $id) { $media = new \Phire\Media\Model\Media(); $media->getById($id); $this->view->image_id = $id; $this->view->image_file = $media->file; $this->view->library_id = $media->library_id; $this->view->library_folder = $media->library_folder; } if ($this->request->isPost()) { $image = new Model\Image(); $image->process($this->request->getPost(), $this->application->module('phire-image')['adapter'], $this->application->module('phire-image')['history']); $this->sess->setRequestValue('saved', true); $this->redirect(BASE_PATH . APP_URI . '/image/' . $image->image_id); } else { $this->view->title = 'Image Editor'; } $this->send(); }
/** * Get count of libraries * * @return int */ public function getCount() { return Table\MediaLibraries::findAll()->count(); }