primo commit
This commit is contained in:
		
							
								
								
									
										103
									
								
								libraries/allediaframework/Framework/Joomla/View/Admin.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								libraries/allediaframework/Framework/Joomla/View/Admin.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,103 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2016-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| use Alledia\Framework\Factory; | ||||
| use Alledia\Framework\Joomla\Extension\Helper as ExtensionHelper; | ||||
| use Alledia\Framework\Joomla\Extension\Licensed; | ||||
| use Joomla\CMS\Filesystem\File; | ||||
| use Joomla\CMS\HTML\HTMLHelper; | ||||
|  | ||||
| /** | ||||
|  * @deprecated v2.0.5 | ||||
|  */ | ||||
| class Admin extends Base | ||||
| { | ||||
|     /** | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $option = null; | ||||
|  | ||||
|     /** | ||||
|      * @var Licensed | ||||
|      */ | ||||
|     protected $extension = null; | ||||
|  | ||||
|     /** | ||||
|      * @param array $config | ||||
|      * | ||||
|      * @throws \Exception | ||||
|      */ | ||||
|     public function __construct($config = []) | ||||
|     { | ||||
|         parent::__construct($config); | ||||
|  | ||||
|         $info = ExtensionHelper::getExtensionInfoFromElement($this->option); | ||||
|  | ||||
|         $this->option    = Factory::getApplication()->input->get('option'); | ||||
|         $this->extension = Factory::getExtension($info['namespace'], $info['type']); | ||||
|     } | ||||
|  | ||||
|     public function display($tpl = null) | ||||
|     { | ||||
|         // Add default admin CSS | ||||
|         HTMLHelper::_('stylesheet', $this->option . '/admin-default.css', ['relative' => true]); | ||||
|  | ||||
|         parent::display($tpl); | ||||
|  | ||||
|         $this->displayFooter(); | ||||
|     } | ||||
|  | ||||
|     protected function displayFooter() | ||||
|     { | ||||
|         $output = ''; | ||||
|  | ||||
|         $layoutPath = $this->extension->getExtensionPath() . '/views/footer/tmpl/default.php'; | ||||
|         if (!File::exists($layoutPath)) { | ||||
|             $layoutPath = $this->extension->getExtensionPath() . '/alledia_views/footer/tmpl/default.php'; | ||||
|  | ||||
|             if (!File::exists($layoutPath)) { | ||||
|                 $layoutPath = null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (!is_null($layoutPath)) { | ||||
|             // Start capturing output into a buffer | ||||
|             ob_start(); | ||||
|  | ||||
|             // Include the requested template filename in the local scope | ||||
|             // (this will execute the view logic). | ||||
|             include $layoutPath; | ||||
|  | ||||
|             // Done with the requested template; get the buffer and | ||||
|             // clear it. | ||||
|             $output = ob_get_contents(); | ||||
|             ob_end_clean(); | ||||
|         } | ||||
|  | ||||
|         echo $output; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,86 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2021-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View\Admin; | ||||
|  | ||||
| use Alledia\Framework\Extension; | ||||
| use Alledia\Framework\Joomla\AbstractView; | ||||
| use Joomla\CMS\Filesystem\File; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| class AbstractBase extends AbstractView | ||||
| { | ||||
|     /** | ||||
|      * @inheritDoc | ||||
|      */ | ||||
|     protected function displayFooter(?Extension $extension = null) | ||||
|     { | ||||
|         parent::displayFooter(); | ||||
|  | ||||
|         echo $this->displayAdminFooter($extension); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param ?Extension $extension | ||||
|      * | ||||
|      * @return string | ||||
|      */ | ||||
|     protected function displayAdminFooter(?Extension $extension = null): string | ||||
|     { | ||||
|         $extension = $extension ?: ($this->extension ?? null); | ||||
|  | ||||
|         if ($extension) { | ||||
|             $output = $extension->getFooterMarkup(); | ||||
|  | ||||
|             if (empty($output)) { | ||||
|                 // Use alternative if no custom footer field | ||||
|                 $layoutPath = $extension->getExtensionPath() . '/views/footer/tmpl/default.php'; | ||||
|  | ||||
|                 if (!File::exists($layoutPath)) { | ||||
|                     $layoutPath = $extension->getExtensionPath() . '/alledia_views/footer/tmpl/default.php'; | ||||
|                 } | ||||
|  | ||||
|                 if (File::exists($layoutPath)) { | ||||
|                     ob_start(); | ||||
|                     include $layoutPath; | ||||
|                     $output = ob_get_contents(); | ||||
|                     ob_end_clean(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return $output ?? ''; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @inheritDoc | ||||
|      * @throws \Exception | ||||
|      */ | ||||
|     public function setLayout($layout) | ||||
|     { | ||||
|         $layout = $this->getVersionedLayoutName($layout); | ||||
|  | ||||
|         return parent::setLayout($layout); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,70 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2021-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View\Admin; | ||||
|  | ||||
| use Joomla\CMS\Form\Form; | ||||
| use Joomla\CMS\HTML\HTMLHelper; | ||||
| use Joomla\CMS\MVC\Model\AdminModel; | ||||
| use Joomla\CMS\Version; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| class AbstractForm extends AbstractBase | ||||
| { | ||||
|     /** | ||||
|      * @var Form | ||||
|      */ | ||||
|     protected $form = null; | ||||
|  | ||||
|     /** | ||||
|      * @var bool | ||||
|      */ | ||||
|     protected $useCoreUI = true; | ||||
|  | ||||
|     /** | ||||
|      * @inheritDoc | ||||
|      */ | ||||
|     protected function setup() | ||||
|     { | ||||
|         parent::setup(); | ||||
|  | ||||
|         if (Version::MAJOR_VERSION < 4) { | ||||
|             HTMLHelper::_('behavior.tabstate'); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @inheritDoc | ||||
|      * | ||||
|      */ | ||||
|     public function setModel($model, $default = false) | ||||
|     { | ||||
|         $model = parent::setModel($model, $default); | ||||
|         if ($model instanceof AdminModel && $default) { | ||||
|             $this->form = $model->getForm(); | ||||
|         } | ||||
|  | ||||
|         return $model; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,81 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2021-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View\Admin; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| use Joomla\CMS\Form\Form; | ||||
| use Joomla\CMS\HTML\HTMLHelper; | ||||
| use Joomla\CMS\Pagination\Pagination; | ||||
| use Joomla\CMS\Version; | ||||
|  | ||||
| abstract class AbstractList extends AbstractBase | ||||
| { | ||||
|     /** | ||||
|      * @var object[] | ||||
|      */ | ||||
|     protected $items = null; | ||||
|  | ||||
|     /** | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $sidebar = null; | ||||
|  | ||||
|     /** | ||||
|      * @var Pagination | ||||
|      */ | ||||
|     protected $pagination = null; | ||||
|  | ||||
|     /** | ||||
|      * @var Form | ||||
|      */ | ||||
|     public $filterForm = null; | ||||
|  | ||||
|     /** | ||||
|      * @var string[] | ||||
|      */ | ||||
|     public $activeFilters = null; | ||||
|  | ||||
|     /** | ||||
|      * @var bool | ||||
|      */ | ||||
|     protected $isEmptyState = null; | ||||
|  | ||||
|     public function display($tpl = null) | ||||
|     { | ||||
|         // Add default admin CSS | ||||
|         HTMLHelper::_('stylesheet', $this->option . '/admin-default.css', ['relative' => true]); | ||||
|  | ||||
|         if ( | ||||
|             Version::MAJOR_VERSION > 3 | ||||
|             && empty($this->items) | ||||
|             && ($this->isEmptyState = $this->get('IsEmptyState')) | ||||
|         ) { | ||||
|             $this->setLayout('emptystate'); | ||||
|         } | ||||
|  | ||||
|         parent::display($tpl); | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										36
									
								
								libraries/allediaframework/Framework/Joomla/View/Base.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								libraries/allediaframework/Framework/Joomla/View/Base.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2016-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View; | ||||
|  | ||||
| use Joomla\CMS\MVC\View\HtmlView; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| /** | ||||
|  * @deprecated v2.0.5 | ||||
|  */ | ||||
| class Base extends HtmlView | ||||
| { | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,67 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2021-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View\Site; | ||||
|  | ||||
| use Alledia\Framework\Joomla\AbstractView; | ||||
| use Joomla\Registry\Registry; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| class AbstractBase extends AbstractView | ||||
| { | ||||
|     /** | ||||
|      * @var Registry | ||||
|      */ | ||||
|     protected $params = null; | ||||
|  | ||||
|     /** | ||||
|      * @inheritDoc | ||||
|      */ | ||||
|     public function setModel($model, $default = false) | ||||
|     { | ||||
|         $model = parent::setModel($model, $default); | ||||
|  | ||||
|         $this->setParams(); | ||||
|  | ||||
|         return $model; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @return void | ||||
|      */ | ||||
|     protected function setParams() | ||||
|     { | ||||
|         $this->params = new Registry(); | ||||
|  | ||||
|         // Load component parameters first | ||||
|         $this->params->merge($this->extension->params); | ||||
|  | ||||
|         if ($activeMenu = $this->app->getMenu()->getActive()) { | ||||
|             // We're on a menu - add/override its parameters | ||||
|             $this->params->merge($activeMenu->getParams()); | ||||
|  | ||||
|             $this->params->def('page_heading', $this->params->get('page_title') ?: $activeMenu->title); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,53 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package   AllediaFramework | ||||
|  * @contact   www.joomlashack.com, help@joomlashack.com | ||||
|  * @copyright 2021-2023 Joomlashack.com. All rights reserved | ||||
|  * @license   https://www.gnu.org/licenses/gpl.html GNU/GPL | ||||
|  * | ||||
|  * This file is part of AllediaFramework. | ||||
|  * | ||||
|  * AllediaFramework is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 2 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * AllediaFramework is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with AllediaFramework.  If not, see <https://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Alledia\Framework\Joomla\View\Site; | ||||
|  | ||||
| defined('_JEXEC') or die(); | ||||
|  | ||||
| use Joomla\CMS\Form\Form; | ||||
| use Joomla\CMS\Pagination\Pagination; | ||||
|  | ||||
| abstract class AbstractList extends AbstractBase | ||||
| { | ||||
|     /** | ||||
|      * @var object[] | ||||
|      */ | ||||
|     protected $items = null; | ||||
|  | ||||
|     /** | ||||
|      * @var Pagination | ||||
|      */ | ||||
|     protected $pagination = null; | ||||
|  | ||||
|     /** | ||||
|      * @var Form | ||||
|      */ | ||||
|     public $filterForm = null; | ||||
|  | ||||
|     /** | ||||
|      * @var string[] | ||||
|      */ | ||||
|     public $activeFilters = null; | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user