Example #1
0
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 );
}
Example #2
0
 /**
  * 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()
    {
        $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);">
            &nbsp;&nbsp;{$words->get('SelectAll')}
            &nbsp;&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;&nbsp;
            {$words->get('GalleryWithSelected')}: &nbsp;&nbsp;&nbsp;&nbsp;

            <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;
        }
    }
Example #4
0
    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>
        ';
    }
 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);
 }
Example #6
0
 /**
  * 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';
 }
Example #7
0
/**
 * used in footer
 */
function _getBugreportLink()
{
    $url = PVars::getObj("env")->baseuri . "feedback?";
    $url .= "IdCategory=1&amp;";
    $url .= "RequestURI=";
    $url .= urlencode('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    return $url;
}
Example #8
0
 public static function get()
 {
     if (!isset(self::$_instance)) {
         $c = __CLASS__;
         self::$_instance = new $c();
     }
     return self::$_instance;
 }
Example #9
0
 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;
 }
Example #10
0
 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';
     }
 }
Example #11
0
 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";
 }
Example #12
0
 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));
     }
 }
Example #13
0
    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 
    }
Example #14
0
 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';
 }
Example #15
0
 /**
  * sets the currently used language in the session
  *
  * @access public
  * @return bool
  */
 public function setLanguage()
 {
     if (!$this->isLoaded()) {
         return false;
     }
     $_SESSION['lang'] = $this->ShortCode;
     $_SESSION['IdLanguage'] = $this->id;
     PVars::register('lang', $_SESSION['lang']);
     return true;
 }
Example #16
0
 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';
 }
Example #17
0
 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;
 }
Example #18
0
 /**
  * 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;
 }
Example #19
0
 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();
 }
function _languageFooterSelectorDropDown()
{
    $words = new MOD_words();
    $langsel = '';
    $request_string = htmlspecialchars(implode('/', PVars::get()->request), ENT_QUOTES);
    $langsel = '
      <select id="language" name="language" class="combo" onchange="window.location.href=this.value; return false">';
    $langsel .= _languageOptions($words) . '</select>';
    return $langsel;
}
Example #21
0
 /**
  * @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;
 }
Example #22
0
 /**
  * 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;
 }
Example #23
0
 public function __construct($file)
 {
     $this->_lang = PVars::get()->lang;
     // $fallbackLangFile = TEXT_DIR.$this->_fallbackLang.'/'.$file;
     // $langFile = TEXT_DIR.$this->_lang.'/'.$file;
     //if (!file_exists($fallbackLangFile) || !is_readable($fallbackLangFile))
     //    throw new PException('Fallback language file not found!');
     //if (!file_exists($langFile) || !is_readable($langFile))
     //    $langFile = $fallbackLangFile;
     //$this->langFile = $langFile;
     //$this->fallbackLangFile = $fallbackLangFile;
 }
Example #24
0
 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';
 }
Example #25
0
 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;
     }
 }
Example #26
0
 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);
 }
Example #27
0
 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] = '';
     }
 }
    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 
    }
Example #29
0
 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;
     }
 }
Example #30
0
 /**
  * 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 '';
 }