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);
 }
Exemple #2
0
$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/');
Exemple #3
0
 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');
 }