protected function column_col3() { $trip = $this->trip; $trip_data = $this->trip_data; $words = new MOD_words(); $layoutbits = new MOD_layoutbits(); $member = $this->model->getLoggedInMember(); $google_conf = PVars::getObj('config_google'); $Model = new Blog(); $callback = $this->getCallbackOutput('BlogController', 'createProcess'); // get the saved post vars // todo: grab from page model $vars = array(); $request = PRequest::get()->request; $errors = array(); $lang = array(); //$tripIt = $Model->getTripFromUserIt($member->id); //$defaultVis = A PP_User::getSetting($User->getId(), 'APP_blog_defaultVis'); // defaults to public then $defaultVis = false; if (!$member) { $isOwnTrip = false; } else { $isOwnTrip = $trip->IdMember == $member->id; } require 'templates/singletrip_details.php'; require 'templates/singletrip.php'; $shoutsCtrl = new ShoutsController(); $shoutsCtrl->shoutsList('trip', $trip->trip_id); }
function _languageOptions($words) { $model = new FlaglistModel(); $languages = $model->getLanguages(); $langarr = array(); foreach ($languages as $language) { $lang = new StdClass(); $lang->Name = $language->Name; $lang->TranslatedName = $words->getSilent($language->WordCode); $lang->ShortCode = $language->ShortCode; $langarr[] = $lang; } usort($langarr, "cmpLang"); $langOptions = ''; $request_string = htmlspecialchars(implode('/', PVars::get()->request), ENT_QUOTES); $langOptions = ''; foreach ($langarr as $language) { $abbr = $language->ShortCode; $png = $abbr . '.png'; if (!isset($_SESSION['lang'])) { // hmm } else { $langOptions .= '<option value="' . PVars::getObj("env")->baseuri . 'rox/in/' . $abbr . '/' . $request_string . '" ' . ($_SESSION['lang'] == $abbr ? 'selected="selected"' : ''); $langOptions .= '>' . $language->TranslatedName . ' (' . trim($language->Name) . ')</option>'; } } return $langOptions; }
/** * TODO: source url? */ protected function formatFeedItem($title, $message, $pubdate, $link, $author) { $phpdate = strtotime($pubdate); $pubdate = date("D, d M Y H:i:s", $phpdate) . " GMT"; $rsstitle = $this->ww->RssTitle($title, $author); return "\r\n <item>\r\n <title>" . strip_tags($rsstitle) . "</title>\r\n <description>" . strip_tags($message) . "</description>\r\n <source url=\"http://www.bewelcome.org/\">BeWelcome</source>\r\n <pubDate>" . $pubdate . "</pubDate>\r\n <category>BeWelcome</category>\r\n <guid>" . PVars::getObj('env')->baseuri . $link . "</guid>\r\n <link>" . PVars::getObj('env')->baseuri . $link . "</link>\r\n <author>" . $author . "</author>\r\n </item>\r\n "; }
protected function column_col3() { $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); echo ' <h3>Hellouniverse Calculator!</h3> '; if (!($mem_redirect = $this->layoutkit->formkit->getMemFromRedirect())) { // nothing, this is a fresh calculator page } else { // result from calculation echo ' <p> Result from last calculation: ' . $mem_redirect->x . ' + ' . $mem_redirect->y . ' = ' . $mem_redirect->z . ' </p> '; } echo ' <p> <form method="POST" action="' . $page_url . '"> ' . $this->layoutkit->formkit->setPostCallback('HellouniverseController', 'calculatorCallback') . ' <input name="x"/> + <input name="y"/> = ? <input type="submit" value="send"/> </form> </p> '; }
function DBConnect() { global $_SYSHCVOL; CheckDBParams(); $db = mysql_connect($_SYSHCVOL['MYSQLServer'], $_SYSHCVOL['MYSQLUsername'], $_SYSHCVOL['MYSQLPassword']); if (!$db) { $str = "bad mysql_connect " . mysql_error(); error_log($str . $_SYSHCVOL['MYSQLServer']); bw_error($str); } if (!mysql_select_db($_SYSHCVOL['MYSQLDB'], $db)) { $str = "bad mysql_select_db " . mysql_error(); error_log($str . " select db {$_SYSHCVOL['MYSQLDB']}"); bw_error($str); } // Line to force use of UTF-8 // Natively dabase is sio latin1 mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); mysql_query("SET collation_connection='utf8_general_ci'"); global $i_am_the_mailbot; if ('auto' == PVars::getObj('db')->dbupdate && !(isset($_SYSHCVOL['NODBAUTOUPDATE']) ? $_SYSHCVOL['NODBAUTOUPDATE'] : true) && !(isset($i_am_the_mailbot) ? $i_am_the_mailbot : false)) { DBUpdateCheck(); } // Adding a time limit set_time_limit(15); // No page must go longer than this number of seconds // mysql_query("SET CHARACTER SET 'utf8'", $db ); }
protected function column_col3() { $words = $this->words; $cnt_pictures = $this->cnt_pictures; $statement = $this->statement; $gallery = $this->gallery; $mem_redirect = $this->layoutkit->formkit->getMemFromRedirect(); $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); $formkit = $this->layoutkit->formkit; $callback_tag = $formkit->setPostCallback('GalleryController', 'updateGalleryCallback'); if ($this->myself && $this->upload) { // Display the upload form require SCRIPT_BASE . 'build/gallery/templates/uploadform.php'; } $this->thumbsize = 1; echo '<form method="POST" action="">' . $callback_tag; require SCRIPT_BASE . 'build/gallery/templates/imagefixedcolumns.list.php'; if ($this->myself) { echo <<<HTML <p class="small"> <input type="checkbox" name="selectAllRadio" class="checker" onclick="common.selectAll(this);"> {$words->get('SelectAll')} | {$words->get('GalleryWithSelected')}: <input name="gallery" type="hidden" value="{$gallery->id}"> <input name="removeOnly" type="hidden" value="1"> <input type="submit" name="button" value="{$words->getBuffered('GalleryRemoveImagesFromPhotoset')}" class="button" style="cursor:pointer"/> <a href="gallery/show/sets/{$this->gallery->id}/upload" class="button" /><img src="images/icons/picture_add.png">{$words->get('GalleryUploadPhotos')}</a> </p> </form> HTML; } }
/** * content of the middle column - this is the most important part */ protected function body() { // get the translation module $words = $this->getWords(); $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); $request = PRequest::get()->request; $callbacktag = $this->layoutkit->formkit->setPostCallback('GeoController', 'SelectorCallback'); if (!($mem_redirect = $this->layoutkit->formkit->getMemFromRedirect())) { $locations_print = ''; } elseif ($mem_redirect->location) { $Geo = new GeoController(); $locations_print = $Geo->GeoSearch($mem_redirect->location, 40, false, $callbacktag); } else { $Geo = new GeoController(); $locations_print = $Geo->GeoSearch(' ', 40, false, $callbacktag); } // Just for testing: // if (isset($_SESSION['GeoVars'])) var_dump($_SESSION['GeoVars']); // if (isset($_SESSION['GeoVars']['geonamename'])) var_dump($_SESSION['GeoVars']['geonamename']); // if (isset($request[2]) && $request[2] == 'save' && $mem_redirect->geolocation) { // $geolocation = $mem_redirect->geolocation; // list($geonameid, $geonamename) = preg_split('/[//]/', $geolocation); // $_SESSION['SignupBWVars']['geonameid'] = $geonameid; // $_SESSION['SignupBWVars']['geonamename'] = $geonamename; // print 'GEO SET'; // } else { // print 'GEO NOT SET'; // } require 'templates/popup.php'; }
/** * used in footer */ function _getBugreportLink() { $url = PVars::getObj("env")->baseuri . "feedback?"; $url .= "IdCategory=1&"; $url .= "RequestURI="; $url .= urlencode('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); return $url; }
public function __construct() { $db = PVars::getObj('config_rdbms'); if (!$db) { throw new PException('DB config error!'); } $dao = PDB::get($db->dsn, $db->user, $db->password); self::$dao =& $dao; }
function menu_link($link, $to, $msg, $src) { /* tiny helper function to make things look nicer -- guaka wished PHP had lambdas! */ echo " <span", factive($link, $to), ">"; if (!empty($src)) { echo "<img src=\"" . PVars::getObj('env')->baseuri . $src; } echo "<a href='" . bwlink($to) . "'>", $msg, "</a></span>\n"; }
private function __construct() { if (!($configDNSBlock = PVars::getObj('dnsblock') && isset($configDNSBlock->dns))) { // fallback $this->_dns_list = array('sbl.spamhaus.org', 'sbl-xbl.spamhaus.org'); } else { $this->_dns_list = array_map('trim', explode(',', $configDNSBlock->dns)); } }
public function search_column_col3($sortorder, $queries, $mapstyle, $varsOnLoad, $varsGet, $TabAccomodation) { $google_conf = PVars::getObj('config_google'); if ($mapstyle == "mapoff") { require 'templates/search_nomap.column_col3.php'; } else { require 'templates/search.column_col3.php'; } }
protected function column_col3() { // get translation module $layoutkit = $this->layoutkit; $words = $layoutkit->getWords(); $model = $this->getModel(); $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); $formkit = $layoutkit->formkit; $callback_tag = $formkit->setPostCallback('NotifyController', 'NotifyAdminCallback'); $formstart = '<form name="msgform" id="msgform" action="' . $page_url . '" method="post">'; $formstart .= $callback_tag; $formend = '</form>'; $widget = $layoutkit->createWidget(new NotifyAdminWidget()); $widget->model = $model; $widget->items_per_page = 20; $widget->active_page = $this->active_page; $widget->visible_range = 2; ?> <div id="notes"> <h3>Administer notes</h3> <form action="<?php echo $page_url; ?> " method="post"> <?php if ($widget->needsPagination()) { $widget->showPagination(); } ?> <?php $widget->render(); ?> <?php if ($widget->needsPagination()) { $widget->showPagination(); } ?> <input type="hidden" name="action" value="delete"/> <?php echo $callback_tag; ?> <input type="submit" name="button" value="Delete" id="button" /> </form> <hr /> <form action="<?php echo $page_url; ?> " method="post"> <?php $this->notesActions($callback_tag); ?> </form> </div> <?php }
private function _redirect($rel_url) { /* echo PVars::getObj('env')->baseuri.'<br>'; echo PVars::getObj('env')->baseuri.implode('/', PRequest::get()->request).'<br>'; echo PVars::getObj('env')->baseuri.$rel_url; */ header('Location: ' . PVars::getObj('env')->baseuri . $rel_url); PPHP::PExit(); }
public function ShowOnline() { global $_SYSHCVOL; $words = new MOD_words(); PVars::getObj('page')->title = $words->getBuffered('WhoIsOnLinePage'); $TMembers = $this->_model->GetMembers(); $TGuests = $this->_model->GetGuests(); $TotMembers = $this->_model->GetTotMembers(); require 'templates/showonline.php'; }
public function column_col3() { $model = new OnlineModel(); $words = new MOD_words(); PVars::getObj('page')->title = $words->getBuffered('WhoIsOnLinePage'); $TMembers = $model->GetMembers(); $TGuests = $model->GetGuests(); $TotMembers = $model->GetTotMembers(); require 'templates/showonline.php'; }
protected function getProximityBlock($sel) { $selected = explode(",", $sel); $proximityBlock = ""; $syshcvol = PVars::getObj('syshcvol'); foreach ($syshcvol->LenghtComments as $proximity) { $proximityBlock .= "<input type=\"checkbox\" name=\"" . $proximity . "\" " . (in_array($proximity, $selected) ? "checked=\"checked\" " : "") . "/>" . $this->words->get("Comment_" . $proximity) . "<br/>\n"; } return $proximityBlock; }
/** * The constructor * * @param void */ public function __construct() { // instantiate the dao $db = PVars::getObj('config_rdbms'); if (!$db) { throw new PException('DB config error!'); } $dao = PDB::get($db->dsn, $db->user, $db->password); $this->dao =& $dao; }
/** * @param int $tablename name of table expressed as an integer, * e.g. MOD_enc::TABLE_NAME_REF_MEMBER * @param int $rownumber number of row in the table afore mentioned * @return void */ public function __construct($tablename, $rownumber, $idMember, $keyMember) { $db = PVars::getObj('config_rdbms'); if (!$db) { throw new PException('DB config error!'); } $dao = PDB::get($db->dsn, $db->user, $db->password); $this->dao =& $dao; parent::__construct($tablename, $rownumber, $keyMember); $this->_idMember = $idMember; }
/** * show the page.php template, using the attributes in $_attributes */ public function render() { // we need this for the page.php template $Page = $this; // TODO: this loop can be removed when page.php has been updated in all branches. foreach ($this->_attributes as $key => $value) { PVars::getObj('page')->{$key} = $value; } require_once TEMPLATE_DIR . 'page-plain.php'; // this line takes care that the page output does not happen twice. PVars::getObj('page')->output_done = true; }
protected function column_col3() { $statement = $this->statement; $words = $this->getWords(); $member = $this->loggedInMember; $galleries = $this->galleries; $mem_redirect = $this->layoutkit->formkit->getMemFromRedirect(); $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); $formkit = $this->layoutkit->formkit; $callback_tag = $formkit->setPostCallback('GalleryController', 'manageCallback'); $itemsPerPage = 12; require SCRIPT_BASE . 'build/gallery/templates/gallerymanage.column_col3.php'; }
private function __construct() { $db = PVars::getObj('config_rdbms'); if (!$db) { throw new PException('DB config error!'); } $dao = PDB::get($db->dsn, $db->user, $db->password); $this->dao =& $dao; global $_SYSHCVOL; if (isset($_SYSHCVOL['WhoIsOnlineDelayInMinutes'])) { $this->online_interval = $_SYSHCVOL['WhoIsOnlineDelayInMinutes']; } else { $this->online_interval = 5; } }
public function index() { $P = PVars::getObj('page'); $vw = new ViewWrap($this->_view); $cw = new ViewWrap($this); // index is called when http request = ./blog if (PPostHandler::isHandling()) { return; } $request = PRequest::get()->request; $User = APP_User::login(); if (!isset($request[1])) { $request[1] = ''; } }
public function index() { $model = new OnlineModel(); $loggedInMember = $model->getLoggedInMember(); if (!$loggedInMember) { return $this->redirectAbsolute(PVars::getObj('env')->baseuri); } $rights = $loggedInMember->getOldRights(); if (array_key_exists('SafetyTeam', $rights)) { $page = new OnlinePage(); $page->model = $model; return $page; } return $this->redirectAbsolute(PVars::getObj('env')->baseuri); }
private function informSuggestionTeam($suggestion) { // get all team members $query = "\r\n SELECT\r\n username\r\n FROM\r\n members, rights, rightsvolunteers\r\n WHERE\r\n members.Status = 'Active'\r\n AND members.id = rightsvolunteers.IdMember\r\n AND rights.`Name` = 'Suggestions'\r\n AND rightsvolunteers.IdRight = rights.id\r\n AND rightsvolunteers.Level > 0\r\n ORDER BY\r\n username\r\n "; $res = $this->dao->query($query); if (!$res) { return false; } $receivers = array(); while ($row = $res->fetch(PDB::FETCH_OBJ)) { $member = $this->createEntity('Member')->findByUsername($row->username); $email = MOD_crypt::AdminReadCrypted($member->Email); $receivers[$email] = "BW " . $row->username; } //Create the Transport $transport = Swift_SmtpTransport::newInstance('localhost', 25); //Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); $purifier = MOD_htmlpure::getSuggestionsHtmlPurifier(); $plain = 'Please check the suggestion and take the necessary <a href="' . PVars::getObj('env')->baseuri . 'suggestions/' . $suggestion->id . '/approve">action</a>.'; $html = $purifier->purify($suggestion->description) . '<br/>' . $plain; try { $creator = $this->createEntity('Member')->findById($suggestion->createdby); $message = Swift_Message::newInstance(); $message->setSubject("New suggestion added by " . $creator->Username . ": " . $suggestion->summary); $message->setFrom("*****@*****.**"); $message->setBcc($receivers); $message->addPart($html, 'text/html', 'utf-8'); $message->addPart($plain, 'text/plain', 'utf-8'); $message->setBody($plain); } catch (Exception $e) { $this->logWrite("In suggestions model creating mail message threw exception.", "suggestions"); return false; } //Now check if Swift actually sends it try { $sendResult = $mailer->send($message); } catch (Exception $e) { $this->logWrite("Exception when executing Swift_Mailer::send()", "suggestions"); $sendResult = false; } if ($sendResult) { return true; } else { $this->logWrite("In suggestions model swift::send: Failed to send mail.", "suggestions"); return false; } }
protected function column_col3() { $member = $this->member; $ww = $this->ww; $layoutkit = $this->layoutkit; $formkit = $layoutkit->formkit; $callback_tag = $formkit->setPostCallback('MembersController', 'deleteTranslationCallback'); $page_url = PVars::getObj('env')->baseuri . implode('/', PRequest::get()->request); $lang = $this->model->get_profile_language(); $profile_language = $lang->id; ?> <form method="post" action="<?php echo $page_url; ?> " name="signup" id="profile" enctype="multipart/form-data"> <input type="hidden" name="memberid" value="<?php echo $member->id; ?> " /> <input type="hidden" name="profile_language" value="<?php echo $profile_language; ?> " /> <?php echo $callback_tag; ?> <h3><?php echo $ww->deleteProfileTranslation; ?> : <?php echo $lang->Name; ?> </h3> <p><?php echo $ww->AreYouSure; ?> </p> <button class="button" type="submit" name="choice" value="yes" ><?php echo $ww->yes; ?> </button> <button class="button" type="submit" name="choice" value="no" ><?php echo $ww->no; ?> </button> </form> <?php }
/** * returns the handle from a TB user, given tb user id * * @param int $user_id id of user * * @access public * @return string */ public static function getUserHandle($user_id) { // insanity lies in the details. Any design where you have to do // boilerplate code like this should be thrown out immediately // after design $db = PVars::getObj('config_rdbms'); if (!$db) { throw new PException('DB config error!'); } $dao = PDB::get($db->dsn, $db->user, $db->password); $result = $dao->query("SELECT handle FROM user WHERE id = " . intval($user_id)); if ($result && ($fetched = $result->fetch(PDB::FETCH_OBJ))) { return $fetched->handle; } return ''; }
function bwlink($relative_url, $omit_bw = false) { $exploded = explode('/bw/', $relative_url); if (isset($exploded[1])) { $relative_url = $exploded[1]; } else { if (substr_compare($relative_url . ' ', 'bw/', 0, 3) == 0) { $relative_url = substr($relative_url, 3); } else { if (substr_compare($relative_url . ' ', '/', 0, 1) == 0) { $relative_url = substr($relative_url, 1); } else { // do nothing } } } if (class_exists('PVars')) { if (isset($_SERVER['HTTPS'])) { $baseuri = PVars::getObj('env')->baseuri_https; // https://. 'bw/' . $relative_url; } else { $baseuri = PVars::getObj('env')->baseuri; // http:// . 'bw/' . $relative_url; } } else { $protocol_exploded = explode('/', $_SERVER['SERVER_PROTOCOL']); $baseuri = strtolower($protocol_exploded[0]) . '://' . $_SYSHCVOL['SiteName'] . $_SYSHCVOL['MainDir']; if (substr_compare($baseuri, '/bw/', -4)) { $baseuri = substr($baseuri, -4) . '/'; } else { if (substr_compare($baseuri, '/bw', -3)) { $baseuri = substr($baseuri, -3) . '/'; } else { if (substr_compare($baseuri, '/', -1)) { // do nothing } else { $baseuri = $baseuri . '/'; } } } } return $baseuri . ($omit_bw ? '' : 'bw/') . $relative_url; }
protected function column_col3() { // get translation module $layoutkit = $this->layoutkit; $words = $layoutkit->getWords(); $model = $this->getModel(); $page_url = PVars::getObj('env')->baseuri . htmlspecialchars(implode('/', PRequest::get()->request), ENT_QUOTES); $formkit = $layoutkit->formkit; $callback_tag = $formkit->setPostCallback('MessagesController', 'mailBoxCallback'); $this->mailboxDescription(); $formstart = '<form name="msgform" id="msgform" action="' . $page_url . '" method="post">'; $formstart .= $callback_tag; $formend = '</form>'; $widget = $this->getMailboxWidget(); if ($widget->needsPagination()) { echo $formstart; echo '<div class="subcolumns">'; echo '<div class="c50l">'; $this->messageActions(); echo '</div>'; echo '<div class="c50r">'; $widget->showPagination(); echo '</div>'; echo '</div>'; $widget->render(); echo '<div class="subcolumns">'; echo '<div class="c50l">'; $this->messageActions(); echo '</div>'; echo '<div class="c50r">'; $widget->showPagination(); echo '</div>'; echo '</div>'; echo $formend; } else { echo $formstart; $this->messageActions(); $widget->render(); $this->messageActions(); echo $formend; } }
public function getLanguages() { $db_vars = PVars::getObj('config_rdbms'); if (!$db_vars) { throw new PException('DB config error!'); } $dao = PDB::get($db_vars->dsn, $db_vars->user, $db_vars->password); $dbresult = $dao->query(' SELECT DISTINCT languages.* FROM languages, words WHERE languages.id = words.IdLanguage AND words.code = \'WelcomeToSignup\' ORDER BY FlagSortCriteria '); $langs = array(); while ($row = $dbresult->fetch(PDB::FETCH_OBJ)) { $langs[] = $row; } return $langs; }