/** * Returns an instance of class (singleton pattern implementation). * * @return BOL_AuthorizationPermissionDao */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function deleteActionById($actionId) { $actionId = (int) $actionId; if ($actionId > 0) { $this->permissionDao->deleteByActionId($actionId); $this->actionDao->deleteById($actionId); } }
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the * following conditions are met: * * - Redistributions of source code must retain the above copyright notice, this list of conditions and * the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or other materials provided with the distribution. * * - Neither the name of the Oxwall Foundation nor the names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ OW::getDbo()->query("\n CREATE TABLE IF NOT EXISTS `" . OW_DB_PREFIX . "ads_banner` (\n `id` int(11) NOT NULL auto_increment,\n `label` varchar(255) NOT NULL,\n `code` text NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"); OW::getDbo()->query("\n CREATE TABLE IF NOT EXISTS `" . OW_DB_PREFIX . "ads_banner_location` (\n `id` int(11) NOT NULL auto_increment,\n `bannerId` int(11) NOT NULL,\n `location` char(3) NOT NULL,\n PRIMARY KEY (`id`),\n KEY `bannerId` (`bannerId`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5"); OW::getDbo()->query("\n CREATE TABLE IF NOT EXISTS `" . OW_DB_PREFIX . "ads_banner_position` (\n `id` int(11) NOT NULL auto_increment,\n `bannerId` int(11) NOT NULL,\n `position` enum('top','sidebar','bottom') NOT NULL,\n `pluginKey` varchar(255) NOT NULL,\n PRIMARY KEY (`id`),\n KEY `bannerId` (`bannerId`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"); $authorization = OW::getAuthorization(); $groupName = 'ads'; $authorization->addGroup($groupName); $authorization->addAction($groupName, 'hide_ads', true); $action = BOL_AuthorizationService::getInstance()->findAction('ads', 'hide_ads'); BOL_AuthorizationPermissionDao::getInstance()->deleteByActionId($action->getId()); OW::getPluginManager()->addPluginSettingsRouteName('ads', 'ads.admin_settings_index'); $path = OW::getPluginManager()->getPlugin('ads')->getRootDir() . 'langs.zip'; OW::getLanguage()->importPluginLangs($path, 'ads');
/** * @param $actionId * @return bool */ public function actionCanBePurchased($actionId) { if (!$actionId) { return false; } $memberships = $this->getTypeList(); if (!$memberships) { return false; } foreach ($memberships as $ms) { /** @var MEMBERSHIP_BOL_MembershipType $ms */ $perm = BOL_AuthorizationPermissionDao::getInstance()->findByRoleIdAndActionId($ms->roleId, $actionId); if ($perm) { return true; } } return false; }
private function isAuthorizedForRole() { $groupId = BOL_AuthorizationService::getInstance()->findGroupIdByName('photo'); $photoAction = BOL_AuthorizationActionDao::getInstance()->findAction('view', $groupId); foreach (BOL_AuthorizationService::getInstance()->getRoleList() as $role) { if (BOL_AuthorizationPermissionDao::getInstance()->findByRoleIdAndActionId($role->id, $photoAction->id) !== null) { return true; } } return false; }