Example #1
0
/**
 * 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';
    }
}
Example #2
0
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;
}
Example #3
0
 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;
 }
Example #4
0
 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);
     }
 }
Example #5
0
    $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);
Example #6
0
 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;
 }
Example #7
0
 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 . '/');
             }
         }
     }
 }