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); }
$installComplete = false; $dbReady = false; if (defined('OW_URL_HOME')) { try { $installedValue = (bool) OW::getConfig()->getValue('base', 'site_installed'); $installComplete = (bool) OW::getConfig()->getValue('base', 'install_complete'); } catch (Exception $e) { $installedValue = false; $installComplete = false; } $dbReady = $installedValue; } if (!$installComplete || defined('OW_INSTALL_DEV') && OW_INSTALL_DEV) { if (!defined('OW_URL_HOME')) { $selfUrl = UTIL_Url::selfUrl(); if (substr($selfUrl, -1) != '/') { $selfUrl .= '/'; } $installPos = strpos($selfUrl, '/install'); if (!$installPos) { $installPos = strpos($selfUrl, '/ow_install'); } if ($installPos) { $selfUrl = substr($selfUrl, 0, $installPos) . '/'; } define('OW_URL_HOME', $selfUrl); } define('INSTALL_DIR_ROOT', dirname(__FILE__) . DS); define('INSTALL_URL_ROOT', OW_URL_HOME . 'ow_install/'); define('INSTALL_URL_VIEW', INSTALL_URL_ROOT . 'view/');
public function manage($params) { $groupId = (int) $params['groupId']; if (empty($groupId)) { throw new Redirect404Exception(); } $service = GROUPS_BOL_Service::getInstance(); $feedService = GROUPRSS_BOL_FeedService::getInstance(); $language = OW::getLanguage(); $config = OW::getConfig(); $userId = OW::getUser()->getId(); $groupDto = $service->findGroupById($groupId); if ($groupDto === null) { throw new Redirect404Exception(); } $whoCanAdd = $config->getValue('grouprss', 'actionMember'); if ($whoCanAdd == 'admin' && !OW::getUser()->isAdmin()) { throw new Redirect404Exception(); } $mypaths = explode("/", UTIL_Url::selfUrl()); $groupId = strtolower(end($mypaths)); if ($groupId == 'customize') { $groupId = strtolower(prev($mypaths)); } if ($whoCanAdd == 'creator' && $feedService->getGroupCreater($groupId) !== $userId) { throw new Redirect404Exception(); } if ($whoCanAdd == 'both') { if (!OW::getUser()->isAdmin() && $feedService->getGroupCreater($groupId) !== $userId) { throw new Redirect404Exception(); } } $userList = $service->findGroupUserIdList($groupId); $userService = BOL_UserService::getInstance(); $feedService = GROUPRSS_BOL_FeedService::getInstance(); $newForm = new Form('newForm'); $element = new Selectbox('feedUser'); $element->setLabel($language->text('grouprss', 'newsfeed_user')); $element->setRequired(); foreach ($userList as $key => $user) { $element->addOption($user, $userService->getDisplayName($user)); } $newForm->addElement($element); $element = new TextField('feedUrl'); $element->setRequired(true); $validator = new UrlValidator(); $validator->setErrorMessage($language->text('grouprss', 'invalid_feed_url')); $element->addValidator($validator); $element->setLabel($language->text('grouprss', 'new_feed_url')); $newForm->addElement($element); $element = new TextField('feedCount'); $element->setValue("2"); $element->setRequired(); $element->setLabel(OW::getLanguage()->text('grouprss', 'user_feed_count')); $validator = new IntValidator(1, 50); $validator->setErrorMessage(OW::getLanguage()->text('grouprss', 'invalid_feed_count_error')); $element->addValidator($validator); $newForm->addElement($element); $element = new Submit('addFeed'); $element->setValue(OW::getLanguage()->text('grouprss', 'add_new_feed')); $newForm->addElement($element); if (OW::getRequest()->isPost()) { if ($newForm->isValid($_POST)) { $values = $newForm->getValues(); $userId = $values['feedUser']; $feedUrl = $values['feedUrl']; $feedCount = $values['feedCount']; if ($feedService->isDuplicate($groupId, $feedUrl)) { OW::getFeedback()->error($language->text('grouprss', 'add_feed_duplicate_error')); } else { $feedService->addFeed($groupId, $userId, $feedUrl, $feedCount); OW::getFeedback()->info($language->text('grouprss', 'add_feed_success')); GROUPRSS_BOL_FeedService::getInstance()->addAllGroupFeed(); } } } $this->addForm($newForm); $allFeeds = $feedService->findByGroup($groupId); $feedDetails = array(); $deleteFeeds = array(); foreach ($allFeeds as $feed) { $feedDetails[$feed->id]['feedID'] = $feed->id; $feedDetails[$feed->id]['groupID'] = $feed->groupId; $feedDetails[$feed->id]['userID'] = $feed->userId; $feedDetails[$feed->id]['userName'] = $userService->getDisplayName($feed->userId); $feedDetails[$feed->id]['userURL'] = $userService->getUserUrl($feed->userId); $feedDetails[$feed->id]['feedURL'] = $feed->feedUrl; $feedDetails[$feed->id]['feedCount'] = $feed->feedCount; $feedDetails[$feed->id]['timestamp'] = $feed->timestamp; $deleteFeeds[$feed->id] = OW::getRouter()->urlFor(__CLASS__, 'delete', array('id' => $feed->id, 'groupId' => $groupId)); } $this->assign('feedDetails', $feedDetails); $this->assign('deleteFeeds', $deleteFeeds); OW::getDocument()->addStyleSheet(OW::getPluginManager()->getPlugin('grouprss')->getStaticCssUrl() . 'style.css'); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('grouprss')->getStaticJsUrl() . 'jquery.tablesorter.min.js'); $this->setPageHeading(OW::getLanguage()->text('grouprss', 'manage_settings_title')); $this->setPageTitle(OW::getLanguage()->text('grouprss', 'manage_settings_title')); $this->setPageHeadingIconClass('ow_ic_gear_wheel'); }