Server IP : 195.201.23.43 / Your IP : 18.222.112.142 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/libraries/fof30/Params/ |
Upload File : |
<?php /** * @package FOF * @copyright Copyright (c)2010-2019 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU GPL version 2 or later */ namespace FOF30\Params; use FOF30\Container\Container; defined('_JEXEC') or die; /** * A helper class to quickly get the component parameters */ class Params { /** @var Container The container we belong to */ protected $container = null; /** * Cached component parameters * * @var \Joomla\Registry\Registry */ private $params = null; /** * Public constructor for the params object * * @param \FOF30\Container\Container $container The container we belong to */ public function __construct(Container $container) { $this->container = $container; $this->reload(); } /** * Reload the params */ public function reload() { $db = $this->container->db; $sql = $db->getQuery(true) ->select($db->qn('params')) ->from($db->qn('#__extensions')) ->where($db->qn('type') . " = " . $db->q('component')) ->where($db->qn('element') . " = " . $db->q($this->container->componentName)); $json = $db->setQuery($sql)->loadResult(); $this->params = new \Joomla\Registry\Registry($json); } /** * Returns the value of a component configuration parameter * * @param string $key The parameter to get * @param mixed $default Default value * * @return mixed */ public function get($key, $default = null) { return $this->params->get($key, $default); } /** * Returns a copy of the loaded component parameters as an array * * @return array */ public function getParams() { return $this->params->toArray(); } /** * Sets the value of a component configuration parameter * * @param string $key The parameter to set * @param mixed $value The value to set * * @return void */ public function set($key, $value) { $this->setParams(array($key => $value)); } /** * Sets the value of multiple component configuration parameters at once * * @param array $params The parameters to set * * @return void */ public function setParams(array $params) { foreach ($params as $key => $value) { $this->params->set($key, $value); } } /** * Actually Save the params into the db */ public function save() { $db = $this->container->db; $data = $this->params->toString(); $sql = $db->getQuery(true) ->update($db->qn('#__extensions')) ->set($db->qn('params') . ' = ' . $db->q($data)) ->where($db->qn('element') . ' = ' . $db->q($this->container->componentName)) ->where($db->qn('type') . ' = ' . $db->q('component')); $db->setQuery($sql); try { $db->execute(); } catch (\Exception $e) { // Don't sweat if it fails } } }Private