private function getChangePassword($id, $key) { $text = Core_Text::__getInstance(); $text->setFile('main'); $text->setSection('lostpass'); // Check the key $db = Core_Database::__getInstance(); $chk = $db->select('players', array('plid'), "plid = " . intval($id) . " AND seckey = '" . $db->escape($key) . "'"); if (count($chk) === 1) { $password1 = Core_Tools::getInput('_POST', 'pass1', 'varchar'); $password2 = Core_Tools::getInput('_POST', 'pass2', 'varchar'); $page = new Core_Template(); $page->set('title', $text->get('changepass')); $page->set('about', $text->get('aboutchange')); $page->set('pass1', $text->get('pass1')); $page->set('pass2', $text->get('pass2')); $page->set('submit', $text->get('submitchange')); if ($password1 && $password1 === $password2) { $login = Core_Login::__getInstance(); $login->setPassword($chk[0]['plid'], $password1); $page->set('success', $text->get('passchanged')); } elseif ($password1 || $password2) { $page->set('warning', $text->get('passmismatch')); } return $page->parse('lostPassword_res.tpl'); } else { return '<p class="false">Security Key Not Found.</p>'; } }
public function getHTML() { $page = new Core_Template(); // Login first $page->set('login', $this->getLogin()); $page->set('title', $this->getTitle()); $page->set('footer', $this->getFooter()); $page->set('content', $this->getContent()); $page->set('menu', $this->getMenu()); // Order baskes $page->set('basket', $this->getBasket()); $text = Core_Text::__getInstance(); // Languages: $langs = getLanguages(); foreach ($langs as $v) { $page->addListValue('languages', array($text->get($v[0], 'languages', 'main', $v[0]), self::getUrl('page=home&language=' . $v[1]))); } $langs = getLayouts(); foreach ($langs as $v) { $page->addListValue('layouts', array($text->get($v[0], 'layouts', 'main', $v[0]), self::getUrl('page=home&layout=' . $v[1]))); } $page->set('languages', $text->get('languages', 'main', 'main')); $page->set('layouts', $text->get('layout', 'main', 'main')); $page->set('footerSpoof', $text->get('footer', 'main', 'main')); $page->set('printerFooter', $text->get('printerFooter', 'main', 'main')); $page->sortList('languages'); $db = Core_Database::__getInstance(); $page->set('mysqlCount', $db->getCounter()); $page->set('order_url', array($text->get('shoplist', 'menu', 'main'), self::getUrl('page=order'))); return $page->parse('index.tpl'); }
public function registerAccount($user, $email, $password, $firstname, $lastname) { $db = Core_Database::__getInstance(); /* Hash the password */ $hash1 = md5($password); $hash2 = md5('a hobbits tale' . date('dmyhis') . rand(0, 10000) . 'by Bilbo Baggings.'); /* Make the hash */ $hash = md5('there' . $hash2 . 'and back' . $hash1 . 'again'); /* Add to the user database */ $db->insert('players', array('realname' => $user, 'email' => $email, 'password1' => $hash, 'password2' => $hash2, 'firstname' => $firstname, 'lastname' => $lastname, 'activated' => 1)); // Now: login $this->login($email, $password); }
private function getEditProfile() { $myself = Profile_Member::getMyself(); if (!$myself) { return $this->getRegistrationForm(); } // Process incoming data $firstname = Core_Tools::getInput('_POST', 'firstname', 'varchar'); $name = Core_Tools::getInput('_POST', 'name', 'varchar'); $nickname = Core_Tools::getInput('_POST', 'nickname', 'username'); $email = Core_Tools::getInput('_POST', 'email', 'email'); $page = new Core_Template(); if ($firstname && $name && $nickname && $email) { // Update the database $db = Core_Database::__getInstance(); $db->update('players', array('firstname' => $firstname, 'lastname' => $name, 'realname' => $nickname, 'email' => $email), "plid = {$myself->getId()}"); $myself->reloadData(); $page->set('done', true); } elseif ($firstname || $name || $nickname || $email) { $page->set('done', false); } $page->set('nickname', Core_Tools::output_form($myself->getUsername())); $page->set('firstname', Core_Tools::output_form($myself->getFirstname())); $page->set('name', Core_Tools::output_form($myself->getName())); $page->set('email', Core_Tools::output_form($myself->getEmail())); return $page->parse('account_edit.tpl'); }
public function removeModerator($objUser) { $db = Core_Database::__getInstance(); $db->customQuery("\n\t\t\tREMOVE FROM\n\t\t\t\tplayers_shop\n\t\t\tWHERE\n\t\t\t\tplid = {$objUser->getId()} AND\n\t\t\t\ts_id = {$this->id()}\n\t\t"); }
public function sendReminder($company) { $text = Core_Text::__getInstance(); $text->setFile('account'); $text->setSection('reminder'); $email = $this->getEmail(); // Get company owner $owner = $company->getOwner(); // Check for negative poefboek $poefboek = $company->getMemberPoefboek($this); if ($poefboek > 0) { $txt = Core_Tools::output_text($text->getFile('mails/reminder')); } else { $txt = Core_Tools::output_text(Core_Tools::putIntoText($text->getFile('mails/angry_reminder'), array('poefboek' => $poefboek, 'admin' => Core_Tools::output_varchar($owner->getFullname())))); } if ($owner) { Core_Tools::sendMail($text->get('subject'), $txt, $email, $this->getFullname(), $owner->getFullname(), $owner->getEmail(), false); } // Notify members by message: $db = Core_Database::__getInstance(); $accounts = $db->select('im_users', array('im_user'), "im_player = " . $this->getId() . " AND im_activated = 1"); $url = 'https://www.imified.com/api/bot/'; foreach ($accounts as $v) { $data = array('botkey' => '53881418-A97D-9713-415C46EA2843C806', 'apimethod' => 'send', 'userkey' => $v['im_user'], 'msg' => 'Tijd voor broodjes! Ga snel naar http://www.1brood.be/ !'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERPWD, 'daedelson@gmail.com:aukv0006'); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 100); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $xml = curl_exec($ch); if (!$xml) { echo curl_error($ch); } curl_close($ch); } }
private function doCron() { $db = Core_Database::__getInstance(); $hour = date('H'); $day = date('w'); if ($day > 0 && $day < 6) { // Select all companies $companies = $db->select('companies', array('*'), "c_hour = " . intval($hour)); echo '<pre>'; echo 'It\'s ' . $hour . 'h, time for reminders!' . "\n"; $count = 0; foreach ($companies as $v) { $company = Profile_Company::getCompany($v['c_id']); echo 'Sending mails to ' . $company->getName() . ".\n"; $company->sendReminders(); $count++; } if ($count == 0) { echo 'No reminders were sent.'; } echo '</pre>'; } else { echo '<pre>It\'s weekend.</pre>'; } }
private function processManagementInput($objShop) { $db = Core_Database::__getInstance(); $iCount = 0; while ($iCount !== false && $iCount >= 0 && $iCount < 200) { $iCount++; $productName = Core_Tools::getInput('_POST', 'productName' . $iCount, 'varchar'); $productText = Core_Tools::getInput('_POST', 'productText' . $iCount, 'varchar'); $originalId = Core_Tools::getInput('_POST', 'productOrg' . $iCount, 'varchar'); $categoryId = Core_Tools::getInput('_POST', 'categoryId' . $iCount, 'varchar'); $okay = true; $productPrice = ""; $i = 0; while ($okay && $i < 10) { $priceIn = Core_Tools::getInput('_POST', 'productPrice' . $iCount . '_' . $i, 'float'); if ($priceIn > 0) { $productPrice .= $priceIn . ','; } else { $okay = false; } $i++; } $productPrice = substr($productPrice, 0, -1); /* 2 requirements: name & price */ if ($productName) { if ($originalId > 0) { // update $db->update('products', array('p_name' => $productName, 'p_info' => $productText, 'p_price' => $productPrice, 'c_id' => $categoryId), "p_id = '" . $originalId . "' AND s_id = '" . $objShop->getId() . "'"); } else { // add $db->insert('products', array('p_name' => $productName, 'p_info' => $productText, 'p_price' => $productPrice, 's_id' => $objShop->getId(), 'c_id' => $categoryId)); } } elseif ($originalId > 0) { $db->remove('products', "p_id = '" . $originalId . "' AND s_id = '" . $objShop->getId() . "'"); } else { // Get out of here! $iCount = false; } } // Last: general info $message = Core_Tools::getInput('_POST', 'shopMessage', 'varchar'); $db->update('shops', array('s_message' => $message), "s_id = '" . $objShop->getId() . "'"); $objShop->refreshData(); }
public function getPoefboekLog($objUser, $bShowDetails = false) { $db = Core_Database::__getInstance(); $bShowDetails = $bShowDetails ? true : false; $logs = $db->getDataFromQuery($db->customQuery("\n\t\t\t\tSELECT\n\t\t\t\t\t*,\n\t\t\t\t\tUNIX_TIMESTAMP(p.l_date) AS date\n\t\t\t\tFROM\n\t\t\t\t\tplayers_poefboeklog p\n\t\t\t\tLEFT JOIN\n\t\t\t\t\torder_prods o ON p.l_action = 'order' AND p.l_actor = o.o_id AND o.plid = p.plid\n\t\t\t\tLEFT JOIN\n\t\t\t\t\tproducts prod ON o.p_id = prod.p_id\n\t\t\t\tWHERE\n\t\t\t\t\tp.c_id = {$this->getId()} AND \n\t\t\t\t\tp.plid = {$objUser->getId()} \n\t\t\t\t" . (!$bShowDetails ? 'GROUP BY p.l_id ' : null) . "\n\t\t\t\tORDER BY\n\t\t\t\t\tp.l_date DESC\n\t\t\t")); $out = array(); $text = Core_Text::__getInstance(); foreach ($logs as $v) { // Check if there are details available if ($bShowDetails && isset($v['p_name']) && isset($v['op_price']) && isset($v['op_amount'])) { $details = array('amount' => $v['op_amount'], 'price' => $v['op_price'], 'name' => $v['p_name']); } else { $details = false; } // Are we still processing the same unit? if (isset($latest) && $latest['id'] == $v['l_id']) { if ($details) { $latest['details'][] = $details; } } else { switch ($v['l_action']) { case 'order': $actor_name = $text->get('order', 'poeflog', 'company') . ' #' . $v['l_actor']; $actor_url = Pages_Page::getUrl('page=order&oid=' . $v['l_actor']); break; default: $user = Profile_Member::getMember($v['l_actor']); if ($user->isFound()) { $actor_name = $user->getUsername(); $actor_url = 'mailto:' . $user->getEmail(); } else { $actor_name = 'user_not_found'; $actor_url = '#'; } break; } $aDetails = array(); if ($details) { $aDetails[] = $details; } $out[] = array('id' => $v['l_id'], 'date' => $v['date'], 'amount' => $v['l_amount'], 'actor_name' => $actor_name, 'actor_url' => $actor_url, 'newpoef' => $v['l_newpoef'], 'comment' => $v['l_description'], 'details' => $aDetails); $latest =& $out[count($out) - 1]; } } return $out; }
public function getGoogleContent() { $db = Core_Database::__getInstance(); $shop = Core_Tools::getInput('_GET', 'sid', 'int', false); if ($shop > 0) { // Show all products of this shop $shop = Profile_Shop::getShop($shop); if ($shop) { $shop_page = new Pages_Shop(); return $shop_page->getOverview($shop); } } // Show a list of all shops. $page = new Core_Template(); $data = $db->select('shops', array('*'), null, 's_name ASC'); foreach ($data as $v) { $page->addListValue('shops', array('name' => Core_Tools::output_varchar($v['s_name']), 'url' => self::getUrl('page=order&sid=' . $v['s_id']), 'location' => Core_Tools::output_varchar($v['s_gemeente']))); } return $page->parse('google_shops.phpt'); }
public function getPoefboekManagement($objCompany) { $db = Core_Database::__getInstance(); $text = Core_Text::__getInstance(); $text->setFile('company'); $text->setSection('poefboek'); $page = new Core_Template(); $page->set('title', Core_Tools::putIntoText($text->get('title'), array(Core_Tools::output_varchar($objCompany->getName())))); $page->set('about', $text->get('about')); $myself = Profile_Member::getMyself(); $status = $objCompany->getUserStatus($myself); if ($myself && ($status == 'administrator' || $status == 'moderator')) { // Start with processing the input (since you're allowed to any way ;-)) $count = 0; foreach ($_POST as $k => $v) { if (is_numeric($v) && abs($v) > 0) { if (substr($k, 0, 4) == 'user') { $member = Profile_Member::getMember(substr($k, 4)); if ($member->isFound()) { $comment = Core_Tools::getInput('_POST', 'comment_' . $k, 'varchar'); $objCompany->addToMemberPoefboek($member, $v, 'moderator', $comment); $count++; } } } } if ($count > 0) { //header ('Location: '.self::getUrl ('page=company&id='.$objCompany->getId ())); } $page->set('formAction', self::getUrl('page=company&id=' . $objCompany->getId() . '&action=poefboek')); } $users = $objCompany->getUsers(); foreach ($users as $v) { $page->addListValue('users', array(Core_Tools::output_varchar($v[0]->getUsername()), Core_Tools::convert_price($v[2]), 'user' . $v[0]->getId(), Core_Tools::output_varchar($v[0]->getFullname()))); } $page->set('noUsers', $text->get('noUsers')); $page->set('submit', $text->get('submit')); return $page->parse('company_poef.tpl'); }