/**
  * 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;
 }
示例#2
0
 public function deleteActionById($actionId)
 {
     $actionId = (int) $actionId;
     if ($actionId > 0) {
         $this->permissionDao->deleteByActionId($actionId);
         $this->actionDao->deleteById($actionId);
     }
 }
示例#3
0
 * 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');
示例#4
0
 /**
  * @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;
 }
示例#5
0
 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;
 }