public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); $groupId = $params->additionalParamList['entityId']; $userId = OW::getUser()->getId(); $service = GROUPS_BOL_Service::getInstance(); $feedService = GROUPRSS_BOL_FeedService::getInstance(); $whoCanAdd = OW::getConfig()->getValue('grouprss', 'actionMember'); if ($whoCanAdd == 'admin' && !OW::getUser()->isAdmin()) { $this->setVisible(false); return; } $mypaths = explode("/", UTIL_Url::selfUrl()); $groupId = strtolower(end($mypaths)); if ($groupId == 'customize') { $groupId = strtolower(prev($mypaths)); } if ($whoCanAdd == 'creator' && $feedService->getGroupCreater($groupId) !== $userId) { $this->setVisible(false); return; } if ($whoCanAdd == 'both') { if (!OW::getUser()->isAdmin() && $feedService->getGroupCreater($groupId) !== $userId) { $this->setVisible(false); return; } } $this->assign('groupId', (int) $groupId); }
public function index() { $language = OW::getLanguage(); $config = OW::getConfig(); $adminForm = new Form('adminForm'); $element = new Selectbox('actionMember'); $element->setLabel($language->text('grouprss', 'action_member_label')); $element->setDescription($language->text('grouprss', 'action_member_desc')); $element->setValue($config->getValue('grouprss', 'actionMember')); $element->setRequired(); $element->addOption('admin', $language->text('grouprss', 'site_admin')); $element->addOption('owner', $language->text('grouprss', 'group_owner')); $element->addOption('both', $language->text('grouprss', 'both_admin_owner')); $adminForm->addElement($element); $element = new Selectbox('postLocation'); $element->setLabel($language->text('grouprss', 'post_location_label')); $element->setDescription($language->text('grouprss', 'post_location_desc')); $element->setValue($config->getValue('grouprss', 'postLocation')); $element->setRequired(); $element->addOption('wall', $language->text('grouprss', 'wall_location')); $element->addOption('newsfeed', $language->text('grouprss', 'newsfeed_location')); $adminForm->addElement($element); $element = new CheckboxField('disablePosting'); $element->setLabel($language->text('grouprss', 'disable_posting_label')); $element->setDescription($language->text('grouprss', 'disable_posting_desc')); $element->setValue($config->getValue('grouprss', 'disablePosting')); $adminForm->addElement($element); $element = new Submit('saveSettings'); $element->setValue(OW::getLanguage()->text('grouprss', 'admin_save_settings')); $adminForm->addElement($element); if (OW::getRequest()->isPost()) { if ($adminForm->isValid($_POST)) { $values = $adminForm->getValues(); $config->saveConfig('grouprss', 'actionMember', $values['actionMember']); $config->saveConfig('grouprss', 'postLocation', $values['postLocation']); $config->saveConfig('grouprss', 'disablePosting', $values['disablePosting']); GROUPRSS_BOL_FeedService::getInstance()->addAllGroupFeed(); //OW::getFeedback()->info($language->text('grouprss', 'user_save_success')); } } $this->addForm($adminForm); }
public function delete($params) { if (isset($params['id'])) { GROUPRSS_BOL_FeedService::getInstance()->deleteFeed((int) $params['id']); } $this->redirect(OW::getRouter()->urlForRoute('grouprss_manage', array('groupId' => $params['groupId']))); }
public function updateGroupFeeds() { GROUPRSS_BOL_FeedService::getInstance()->addAllGroupFeed(); }