/** * If table key (id) is NULL : inserts a new row * otherwise updates existing row in the database table * * Can be overridden or overloaded by the child class * * @param boolean $updateNulls TRUE: null object variables are also updated, FALSE: not. * @return boolean TRUE if successful otherwise FALSE * * @throws \InvalidArgumentException * @throws \RuntimeException */ public function store($updateNulls = false) { cbimport('cb.tabs'); cbimport('cb.imgtoolbox'); cbimport('cb.adminfilesystem'); cbimport('cb.installer'); cbimport('cb.params'); cbimport('cb.pagination'); cbSpoofCheck('plugin'); checkCanAdminPlugins('core.admin'); ob_start(); switch ($this->func) { case 'installPluginUpload': $success = $this->installPluginUpload(); break; case 'installPluginDir': $success = $this->installPluginDir($this->localdirectory); break; case 'installPluginURL': $success = $this->installPluginURL($this->packageurl); break; case 'installPluginDisc': $success = $this->installPluginDisc($this->plgfile); break; default: throw new \InvalidArgumentException(CBTxt::T('INVALID_FUNCTION', 'Invalid function'), 500); } $html = ob_get_contents(); ob_end_clean(); $this->_resultMessage = $html; if (!$success) { $this->setError('Installation error'); } return $success; }
checkCanAdminPlugins('core.edit', $userIdPosted, 'com_users'); } $cbController = _CBloadController('user'); /** @var CBController_user $cbController */ $cbController->saveUser($option, $task); break; case 'editPlugin': checkCanAdminPlugins('core.edit', $pluginId); $cbController = _CBloadController('plugin'); /** @var CBController_plugin $cbController */ $cbController->editPlugin($option, $task, $pluginId); break; case 'savePlugin': case 'applyPlugin': cbSpoofCheck('plugin'); checkCanAdminPlugins('core.edit'); $cbController = _CBloadController('plugin'); /** @var CBController_plugin $cbController */ $cbController->savePlugin($option, $task); break; case 'pluginmenu': $cbController = _CBloadController('plugin'); /** @var CBController_plugin $cbController */ $cbController->pluginMenu($option, $pluginId); break; default: _CBloadController('default'); break; } ob_start(); /** @noinspection PhpIncludeInspection */
checkCanAdminPlugins('core.admin'); installPluginUpload(); break; case 'installPluginDir': cbSpoofCheck('plugin'); checkCanAdminPlugins('core.admin'); installPluginDir(); break; case 'installPluginURL': cbSpoofCheck('plugin'); checkCanAdminPlugins('core.admin'); installPluginURL(); break; case 'installPluginDisc': cbSpoofCheck('plugin'); checkCanAdminPlugins('core.admin'); installPluginDisc(); break; case 'latestVersion': latestVersion(); break; case 'fieldclass': case 'tabclass': case 'pluginclass': tabClass($option, $task, (int) cbGetParam($_REQUEST, 'user', 0)); break; case 'finishinstallation': finishInstallation($option); break; default: break;