示例#1
0
 public function render($fromID, $toID, $cssID)
 {
     $this->_init();
     $this->_model = new LinkModel();
     $logged = APP_User::isBWLoggedIn('NeedMore,Pending');
     if ($fromID != $toID && $logged) {
         $linkpath = $this->_model->getLinksFull($fromID, $toID, 1);
         if ($linkpath) {
             require 'templates/link.widget.singlepicturelinkpath.php';
         }
     }
 }
示例#2
0
 public function index($args = false)
 {
     $request = $args->request;
     $logged = APP_User::isBWLoggedIn('NeedMore,Pending');
     switch (isset($request[1])) {
         case 'sent':
             $page = new InviteSentPage();
             break;
         case '':
         default:
             if ($logged) {
                 $page = new InvitePage();
             } else {
                 $this->redirectHome();
             }
     }
     $page->setModel($this->model);
     return $page;
 }
示例#3
0
 /**
  * get members and count based on privacy setting
  *
  */
 private function getMembersFiltered($query)
 {
     // this condition makes sure that unlogged people won't see non-public profiles
     if (!APP_User::isBWLoggedIn('NeedMore,Pending')) {
         $query = str_ireplace("FROM", "FROM memberspublicprofiles mpp,", $query);
         $query = str_ireplace("WHERE", "WHERE m.id = mpp.IdMember AND", $query);
     }
     $result = $this->dao->query($query);
     if (!$result) {
         throw new PException('Could not retrieve members list.');
     }
     $countQuery = $this->dao->query("SELECT FOUND_ROWS() as cnt");
     $count = $countQuery->fetch(PDB::FETCH_OBJ)->cnt;
     $members = array();
     $cities = array();
     while ($row = $result->fetch(PDB::FETCH_OBJ)) {
         if (!isset($cities[$row->idCity])) {
             $cities[$row->idCity] = $this->getCityName($row->idCity);
         }
         $row->city = $cities[$row->idCity];
         $members[] = $row;
     }
     return array($count, $members);
 }
示例#4
0
 /**
  * Parses a request
  * Extracts the current action, geoname-id, country-code, admin-code, all tags and the threadid from the request uri
  */
 private function parseRequest()
 {
     $request = $this->request;
     //    die ("\$request[1]=".$request[1]) ;
     // If this is a subforum within a group
     if (isset($request[0]) && !isset($request[1]) && $request[0] == 'forums') {
         $this->_model->setTopMode(Forums::CV_TOPMODE_LANDING);
         $this->action = self::ACTION_VIEW;
     }
     if (isset($request[0]) && $request[0] == 'groups') {
         if (isset($request[1])) {
             if ($request[1] == 'forums') {
                 $this->_model->setTopMode(Forums::CV_TOPMODE_GROUPS);
                 $this->action = self::ACTION_VIEW_GROUPS;
                 $this->uri = 'forums/';
             } else {
                 if (isset($request[2]) && $request[2] == 'forum') {
                     $this->_model->setGroupId((int) $request[1]);
                     $this->isTopLevel = false;
                     $this->isTopCategories = false;
                     $this->uri = 'groups/' . $request[1] . '/forum/';
                 }
             }
         }
     }
     if (!APP_User::isBWLoggedIn()) {
         $this->action = self::ACTION_NOT_LOGGED_IN;
     } else {
         if (!isset($request[1])) {
             $this->_model->setTopMode(Forums::CV_TOPMODE_LANDING);
             $this->action = self::ACTION_VIEW;
         } else {
             if (isset($request[1]) && $request[1] == 'suggestTags') {
                 $this->action = self::ACTION_SUGGEST;
             } else {
                 if (isset($request[1]) && $request[1] == 'search') {
                     $this->action = self::ACTION_SEARCH_FORUMS;
                     if (isset($request[3]) && preg_match_all('/page([0-9]+)/i', $request[3], $regs)) {
                         $this->_model->setPage($regs[1][0]);
                         $this->_model->pushToPageArray($regs[1][0]);
                     }
                 } else {
                     if (isset($request[1]) && $request[1] == 'member') {
                         $this->action = self::ACTION_SEARCH_USERPOSTS;
                     } else {
                         if (isset($request[1]) && $request[1] == 'modfulleditpost') {
                             $this->action = self::ACTION_MODERATOR_FULLEDITPOST;
                         } else {
                             if (isset($request[1]) && $request[1] == 'votepost') {
                                 $this->action = self::ACTION_VOTE_POST;
                             } else {
                                 if (isset($request[1]) && $request[1] == 'deltevotepost') {
                                     $this->action = self::ACTION_DELETEVOTE_POST;
                                 } else {
                                     if (isset($request[1]) && $request[1] == 'modedittag') {
                                         $this->action = self::ACTION_MODERATOR_EDITTAG;
                                     } else {
                                         if (isset($request[1]) && $request[1] == 'subscriptions') {
                                             $this->action = self::ACTION_SEARCH_SUBSCRIPTION;
                                         } else {
                                             if (isset($request[1]) && $request[1] == 'subscribe') {
                                                 $this->action = self::ACTION_SUBSCRIBE;
                                             } else {
                                                 if (isset($request[1]) && $request[1] == 'rules') {
                                                     $this->action = self::ACTION_RULES;
                                                 } else {
                                                     foreach ($request as $r) {
                                                         if ($r == 'new') {
                                                             $this->action = self::ACTION_NEW;
                                                         } else {
                                                             if ($r == 'edit') {
                                                                 $this->action = self::ACTION_EDIT;
                                                             } else {
                                                                 if ($r == 'landing') {
                                                                     $this->_model->setTopMode(Forums::CV_TOPMODE_LANDING);
                                                                     $this->action = self::ACTION_VIEW_LANDING;
                                                                     $showSticky = false;
                                                                 } else {
                                                                     if ($r == 'bwforum') {
                                                                         $this->_model->setTopMode(Forums::CV_TOPMODE_FORUM);
                                                                         $this->action = self::ACTION_VIEW_FORUM;
                                                                     } else {
                                                                         if ($r == 'lastposts') {
                                                                             $this->_model->setTopMode(Forums::CV_TOPMODE_LASTPOSTS);
                                                                             $this->action = self::ACTION_VIEW_LASTPOSTS;
                                                                         } else {
                                                                             if ($r == 'category') {
                                                                                 $this->_model->setTopMode(Forums::CV_TOPMODE_CATEGORY);
                                                                                 $this->action = self::ACTION_VIEW_CATEGORY;
                                                                             } else {
                                                                                 if ($r == 'translate') {
                                                                                     $this->action = self::ACTION_TRANSLATE;
                                                                                 } else {
                                                                                     if ($r == 'modedit') {
                                                                                         $this->action = self::ACTION_MODEDIT;
                                                                                     } else {
                                                                                         if ($r == 'reply') {
                                                                                             $this->action = self::ACTION_REPLY;
                                                                                         } else {
                                                                                             if ($r == 'reporttomod') {
                                                                                                 $this->action = self::ACTION_REPORT_TO_MOD;
                                                                                             } else {
                                                                                                 if ($r == 'modefullditpost') {
                                                                                                     $this->action = self::ACTION_MODERATOR_FULLEDITPOST;
                                                                                                 } else {
                                                                                                     if ($r == 'votepost') {
                                                                                                         $this->action = self::ACTION_VOTE_POST;
                                                                                                     } else {
                                                                                                         if ($r == 'deletevotepost') {
                                                                                                             $this->action = self::ACTION_DELETEVOTE_POST;
                                                                                                         } else {
                                                                                                             if ($r == 'modedittag') {
                                                                                                                 $this->action = self::ACTION_MODERATOR_EDITTAG;
                                                                                                             } else {
                                                                                                                 if ($r == 'reverse') {
                                                                                                                     // This mean user has click on the reverse order box
                                                                                                                     $this->_model->switchForumOrderList();
                                                                                                                 } else {
                                                                                                                     if ($r == 'delete') {
                                                                                                                         $this->action = self::ACTION_DELETE;
                                                                                                                     } else {
                                                                                                                         if (preg_match_all('/page([0-9]+)/i', $r, $regs)) {
                                                                                                                             $this->_model->setPage($regs[1][0]);
                                                                                                                             $this->_model->pushToPageArray($regs[1][0]);
                                                                                                                         } else {
                                                                                                                             if ($r == 'locationDropdowns') {
                                                                                                                                 $this->action = self::ACTION_LOCATIONDROPDOWNS;
                                                                                                                             } else {
                                                                                                                                 $char = $r[0];
                                                                                                                                 $dashpos = strpos($r, '-');
                                                                                                                                 if ($dashpos === false) {
                                                                                                                                     $dashpos = strlen($r) - 1;
                                                                                                                                 } else {
                                                                                                                                     $dashpos--;
                                                                                                                                 }
                                                                                                                                 if ($char == 'g') {
                                                                                                                                     // Geoname-ID
                                                                                                                                     $this->_model->setGeonameid((int) substr($r, 1, $dashpos));
                                                                                                                                     $this->isTopLevel = false;
                                                                                                                                 } else {
                                                                                                                                     if ($char == 'c') {
                                                                                                                                         // Countrycode
                                                                                                                                         $this->_model->setCountryCode(substr($r, 1, $dashpos));
                                                                                                                                         $this->isTopLevel = false;
                                                                                                                                     } else {
                                                                                                                                         if ($char == 'a') {
                                                                                                                                             // Admincode
                                                                                                                                             $this->_model->setAdminCode(substr($r, 1, $dashpos));
                                                                                                                                             $this->isTopLevel = false;
                                                                                                                                         } else {
                                                                                                                                             if ($char == 't') {
                                                                                                                                                 // Tagid
                                                                                                                                                 $this->_model->addTag((int) substr($r, 1, $dashpos));
                                                                                                                                                 $this->isTopLevel = false;
                                                                                                                                             } else {
                                                                                                                                                 if ($char == 's') {
                                                                                                                                                     // Subject-ID (Thread-ID)
                                                                                                                                                     $this->_model->setThreadId((int) substr($r, 1, $dashpos));
                                                                                                                                                     $this->isTopLevel = false;
                                                                                                                                                 } else {
                                                                                                                                                     if ($char == 'u') {
                                                                                                                                                         // Group ID (This is a dedicated group)
                                                                                                                                                         $this->_model->setGroupId((int) substr($r, 1, $dashpos));
                                                                                                                                                         $this->isTopLevel = false;
                                                                                                                                                     } else {
                                                                                                                                                         if ($char == 'k' && $r != "kickmember") {
                                                                                                                                                             // Continent-ID
                                                                                                                                                             $this->_model->setContinent(substr($r, 1, $dashpos));
                                                                                                                                                             $this->isTopLevel = false;
                                                                                                                                                         } else {
                                                                                                                                                             if ($char == 'm' && $r != "mygroupsonly") {
                                                                                                                                                                 // Message-ID (Single Post)
                                                                                                                                                                 $this->_model->setMessageId(substr($r, 1, $dashpos));
                                                                                                                                                                 $this->isTopLevel = false;
                                                                                                                                                             }
                                                                                                                                                         }
                                                                                                                                                     }
                                                                                                                                                 }
                                                                                                                                             }
                                                                                                                                         }
                                                                                                                                     }
                                                                                                                                 }
                                                                                                                             }
                                                                                                                         }
                                                                                                                     }
                                                                                                                 }
                                                                                                             }
                                                                                                         }
                                                                                                     }
                                                                                                 }
                                                                                             }
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
示例#5
0
 public function index($args = false)
 {
     if (PPostHandler::isHandling()) {
         return;
     }
     $request = $args->request;
     if (isset($request[0]) && 'rox' == $request[0]) {
         // bw.org/rox/in/lang or bw.org/rox/start
         // should be the same as just
         // bw.org/in/lang, or bw.org/start
         array_shift($request);
     }
     switch (isset($request[0]) ? $request[0] : false) {
         case 'in':
             // language switching
             if (!isset($request[1])) {
                 $this->redirectHome();
             } else {
                 $this->_switchLang($request[1]);
                 $this->redirect(array_slice($request, 2), $args->get);
             }
             PPHP::PExit();
         case 'trmode':
             // an alias..
         // an alias..
         case 'tr_mode':
             // translation mode switching
             if (!isset($request[1])) {
                 $this->redirectHome();
             } else {
                 $this->_switchTrMode($request[1]);
                 $this->redirect(array_slice($request, 2), $args->get);
             }
             PPHP::PExit();
         case 'start':
             $page = new PublicStartpage();
             break;
         case 'trac':
         case 'mediawiki':
         case 'mailman':
             $this->redirectAbsolute('http://www.bevolunteer.org/' . $request[0]);
             PPHP::PExit();
         case 'www.bewelcome.org':
             // some emails sent by mailbot contain a link to
             // http://www.bewelcome.org/www.bewelcome.org/something
             // we need to redirect them to
             // https://www.bewelcome.org/something
             $this->redirect(array_slice($request, 1), $args->get);
             PPHP::PExit();
         case 'main':
         case 'home':
         case 'index':
         case '':
         default:
             if (APP_User::isBWLoggedIn("NeedMore,Pending")) {
                 $page = new PersonalStartpage();
                 // This is the Main Start page for logged in members
             } else {
                 $page = new PublicStartpage();
                 // This is the Default Start page for not logged in members
             }
     }
     $page->setModel($this->_model);
     $page->model = $this->_model;
     // some want it like this
     return $page;
 }
示例#6
0
 /**
  * A tiny wee quicksearch box
  */
 protected function quicksearch()
 {
     $words = $this->getWords();
     $logged_in = APP_User::isBWLoggedIn('NeedMore,Pending');
     if (!$logged_in) {
         $request = PRequest::get()->request;
         if (!isset($request[0])) {
             $login_url = 'login';
         } else {
             switch ($request[0]) {
                 case 'login':
                 case 'main':
                 case 'start':
                     $login_url = 'login';
                     break;
                 default:
                     $login_url = 'login/' . htmlspecialchars(implode('/', $request), ENT_QUOTES);
             }
         }
     } else {
         $username = isset($_SESSION['Username']) ? $_SESSION['Username'] : '';
     }
     if (class_exists('MOD_online')) {
         $who_is_online_count = MOD_online::get()->howManyMembersOnline();
     } else {
         // echo 'MOD_online not active';
         if (isset($_SESSION['WhoIsOnlineCount'])) {
             $who_is_online_count = $_SESSION['WhoIsOnlineCount'];
             // MOD_whoisonline::get()->whoIsOnlineCount();
         } else {
             $who_is_online_count = 0;
         }
     }
     PPostHandler::setCallback('quicksearch_callbackId', 'SearchmembersController', 'index');
     require TEMPLATE_DIR . 'shared/roxpage/quicksearch.php';
 }
示例#7
0
<h2><?php 
echo $words->get('PlacesWikiTitle');
?>
</h2>
<?php 
if (APP_User::isBWLoggedIn()) {
    ?>
<p><?php 
    echo $words->get('PlacesWikiHelp');
    ?>
</p><?php 
}
if ($this->wikipage) {
    ?>
<div class="wiki"><?php 
    $wiki = new WikiController();
    $wiki->getWiki($this->wikipage, false);
    ?>
</div>
<?php 
}