/** * Smarty {url} function plugin * * Type: function<br> * Name: url<br> * Purpose: returns the friendlyurl<br> * @author Nathan Gardner <*****@*****.**> */ function smarty_function_url($params, &$smarty) { $objUrl = new FriendlyurlModel(); if (!empty($params['identifier'])) { if (!empty($params['type'])) { switch ($params['type']) { case 'page': $table = 'pages'; break; case 'blog-category': $table = 'blog_categories'; break; case 'blog-article': $table = 'blog_articles'; break; default: $table = 'pages'; break; } } else { $table = 'pages'; } $url = $objUrl->findUrl($table, $params['identifier']); return $url; } else { return 'Must pass an identifier'; } }
function smarty_function_menu_makemenu($pageList, &$output = '', &$smarty) { $objUrl = new FriendlyurlModel(); $output .= '<ul>'; foreach ($pageList as $page) { if (!empty($page['active'])) { $class = ' class="active"'; } else { $class = ''; } $output .= '<li' . $class . '>'; if ($page['type'] == 'page') { $url = $objUrl->findUrl('pages', $page['keyName']); } else { $url = $page['url']; } $output .= '<a href="' . $url . '" target="' . $page['windowaction'] . '">' . $page['title'] . '</a>'; if (!empty($page['children'])) { smarty_function_menu_makemenu($page['children'], $output, $smarty); } $output .= '</li>'; } $output .= '</ul>'; return $output; }
function loadPage($page_id) { $objUrl = new FriendlyurlModel(); $pageInfo = $this->load($page_id, 'pages'); if ($pageInfo) { $pageInfo['url'] = $objUrl->getUrl($pageInfo['url_id']); $pageInfo['meta'] = $objUrl->getMetaData($pageInfo['url_id']); } return $pageInfo; }
function assignCommons() { global $params; ##prod info $this->assign('ProductTitle', PRODUCT_NAME); ##skin dir $this->assign('skin', '/' . $this->location . '/views/'); $this->assign('bento', '/bento/'); ##global url http/https if (empty($_SERVER["HTTPS"])) { $this->assign('httpUrl', 'http://' . URL . '/'); } else { $this->assign('httpUrl', 'https://' . URL . '/'); } ##site settings $objSettings = Settings::getInstance(); $settings = $objSettings->getEntrys(); $this->assign('Settings', $settings); $metaTitle = $settings['meta']['default-meta-title']; $metaDescription = $settings['meta']['default-meta-description']; $metaKeywords = $settings['meta']['default-meta-keywords']; if (!empty($params['_urlrequest'])) { $objUrls = new FriendlyurlModel(); $objUrls->parseRequest($params['_urlrequest']); $urlMeta = $objUrls->getMetaData($objUrls->url_id); if (!empty($urlMeta['title'])) { $metaTitle = $urlMeta['title']; } if (!empty($urlMeta['description'])) { $metaDescription = $urlMeta['description']; } if (!empty($urlMeta['keywords'])) { $metaKeywords = $urlMeta['keywords']; } $this->assign('urlrequest', $params['_urlrequest']); } ##meta deta $this->assign('metaTitle', $metaTitle); $this->assign('metaDescription', $metaDescription); $this->assign('metaKeywords', $metaKeywords); ##global filesystem path $this->assign('fsPath', DIR); ##user vars $objAuthentication = Authentication::getInstance(); if ($objAuthentication->loggedIn()) { $objUser = new UserModel($objAuthentication->user_id); $this->assign('loggedIn', true); $this->assign('UserInfo', $objUser->getInfo()); } else { $this->assign('loggedIn', false); } }
$objDatabase = Database::getInstance(); $objDatabase->connect(DB_SERVER, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_DATABASE); } catch (Exception $e) { $objEmail = new Emailer(); $objEmail->addTO(ERROR_EMAIL); $objEmail->setFrom(ERROR_EMAIL); $objEmail->setSubject('FATAL ERROR | Database connection problem on ' . URL); $objEmail->setBody('Database connection problem!!' . $objDatabase->getError()); //$objEmail->sendMail(); die('Unable to connect to database.'); } $objAuthentication = Authentication::getInstance(); $objSettings = Settings::getInstance(); $objDispatcher = new Dispatcher(); // custom url rewriting $objUrls = new FriendlyurlModel(); $objUrls->parseRequest($params['_urlrequest']); if (!empty($objUrls->requestParams)) { $params = array_merge($params, $objUrls->requestParams); } // start up try { $objSettings->loadSettings(); $objDispatcher->setDirectory('frontend'); $objDispatcher->setController($objUrls->requestController); $objDispatcher->setAction($objUrls->requestAction); $objDispatcher->setParams($params); $objDispatcher->dispatch(); } catch (Exception $e) { $objEmail = new Emailer(); $objEmail->addTO(ERROR_EMAIL);
function getPrevArticle($category_id, $timestamp) { $sql = "\n\t\tSELECT\n\t\t\t`id`,\n\t\t\t`title`,\n\t\t\t`url_id`\n\t\tFROM\n\t\t\t`blog_articles`\n\t\tWHERE\n\t\t\t`publishDate` < '" . $this->db->makeSafe($timestamp) . "' AND\n\t\t\t`category_id` = " . intval($category_id) . "\n\t\tORDER BY\n\t\t\t`publishDate` DESC\n\t\tLIMIT\n\t\t\t1\n\t\t"; $prevArticle = $this->db->getRow($sql); if (!empty($prevArticle)) { $objUrl = new FriendlyurlModel(); $prevArticle['url'] = $objUrl->getUrl($prevArticle['url_id']); } return $prevArticle; }
function actionSubmit($params2 = '') { // loading $params from global so that the View can load the proper _urlrequest global $params; $params = array_merge($params, $params2); $hasError = false; $formErrors = array(); if (!empty($params['formSubmit'])) { $objEmail = new EmailSender(); $objForm = new FormModel(); if (!empty($params['formSubmit']['id'])) { $formInfo = $objForm->loadForm($params['formSubmit']['id']); // validate forms fields if (!empty($formInfo['fields'])) { foreach ($formInfo['fields'] as $formField) { if ($formField['required'] == 1) { if (empty($params['formSubmit']['fields'][$formField['id']])) { $hasError = true; $formError = array('field_id' => $formField['id'], 'errorMsg' => $formField['name'] . ' is required.'); $formErrors[] = $formError; } } } } if ($hasError) { // return to page with error message if (!empty($params['returnUrlRequest']) && $params['returnUrlRequest'] != 'Form/submit') { $objDispatcher = new Dispatcher(); $objFriendlyUrl = new FriendlyurlModel(); $objFriendlyUrl->parseRequest($params['returnUrlRequest']); $controller = $objFriendlyUrl->requestController; $action = $objFriendlyUrl->requestAction; $params = array_merge($params, $objFriendlyUrl->requestParams); $params['_urlrequest'] = $params['returnUrlRequest']; $params['formErrors'] = $formErrors; $objDispatcher->setDirectory('frontend'); $objDispatcher->setController($controller); $objDispatcher->setAction($action); $objDispatcher->setParams($params); $objDispatcher->dispatch(); exit; } else { die('Please go back and retry submitting the form. Errors: ' . print_r($formErrors)); } } // save to database $submission_id = $this->saveToDb($params); if ($submission_id) { $params['submission_id'] = $submission_id; } // email notification $objEmail->sendForm($params); // return to page with thanks message if (!empty($params['returnUrlRequest'])) { header("Location: http://" . URL . '/' . $params['returnUrlRequest'] . '?formSubmitted=true'); } else { header("Location: http://" . URL . '/'); } } } }