<?php
/*
* Copyright 2014 Osclass
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Helper Defines
* @package Osclass
* @subpackage Helpers
* @author Osclass
*/
/**
* Gets the root url for your installation
*
* @param boolean $with_index true if index.php in the url is needed
* @return string
*/
function osc_base_url($with_index = false) {
if(MULTISITE) {
$path = osc_multisite_url();
} else {
$path = WEB_PATH;
}
// add the index.php if it's true
if($with_index) {
$path .= "index.php";
}
return osc_apply_filter('base_url', $path, $with_index);
}
function osc_subdomain_base_url($params = array()) {
$fields['category'] = 'sCategory';
$fields['country'] = 'sCountry';
$fields['region'] = 'sRegion';
$fields['city'] = 'sCity';
$fields['user'] = 'sUser';
if(isset($fields[osc_subdomain_type()])) {
$field = $fields[osc_subdomain_type()];
if(isset($params[$field]) && !is_array($params[$field]) && $params[$field]!='' && strpos($params[$field], ',')===false) {
return osc_search_url(array($fields[osc_subdomain_type()] => $params[$field]));
}
}
return osc_base_url();
}
/**
* Gets the root url of oc-admin for your installation
*
* @param boolean $with_index true if index.php in the url is needed
* @return string
*/
function osc_admin_base_url($with_index = false) {
$path = osc_base_url(false) . 'oc-admin/';
// add the index.php if it's true
if($with_index) {
$path .= "index.php";
}
return osc_apply_filter('admin_base_url', $path, $with_index);
}
/**
* Gets the root path for your installation
*
* @return string
*/
function osc_base_path() {
return(ABS_PATH);
}
/**
* Gets the root path of oc-admin
*
* @return string
*/
function osc_admin_base_path() {
return(osc_base_path() . "oc-admin/");
}
/**
* Gets the librarieas path
*
* @return string
*/
function osc_lib_path() {
return(LIB_PATH);
}
/**
* Gets the content path
*
* @return string
*/
function osc_content_path() {
return(CONTENT_PATH);
}
/**
* Gets the themes path
*
* @return string
*/
function osc_themes_path() {
return(THEMES_PATH);
}
/**
* Gets the plugins path
*
* @return string
*/
function osc_plugins_path() {
return(PLUGINS_PATH);
}
/**
* Gets the translations path
*
* @return string
*/
function osc_translations_path() {
return(TRANSLATIONS_PATH);
}
/**
* Gets the translations path
*
* @return string
*/
function osc_uploads_path() {
if( MULTISITE && osc_multisite_upload_path() !== '' ) {
return osc_multisite_upload_path();
}
return(UPLOADS_PATH);
}
/**
* Gets the current oc-admin theme
*
* @return string
*/
function osc_current_admin_theme() {
return( AdminThemes::newInstance()->getCurrentTheme() );
}
/**
* Gets the complete url of a given admin's file
*
* @param string $file the admin's file
* @return string
*/
function osc_current_admin_theme_url($file = '') {
return AdminThemes::newInstance()->getCurrentThemeUrl() . $file;
}
/**
* Gets the complete path of a given admin's file
*
* @param string $file the admin's file
* @return string
*/
function osc_current_admin_theme_path($file = '') {
require_once AdminThemes::newInstance()->getCurrentThemePath() . $file;
}
/**
* Gets the complete url of a given style's file
*
* @param string $file the style's file
* @return string
*/
function osc_current_admin_theme_styles_url($file = '') {
return AdminThemes::newInstance()->getCurrentThemeStyles() . $file;
}
/**
* Gets the complete url of a given js's file
*
* @param string $file the js's file
* @return string
*/
function osc_current_admin_theme_js_url($file = '') {
return AdminThemes::newInstance()->getCurrentThemeJs() . $file;
}
/**
* Gets the current theme for the public website
*
* @return string
*/
function osc_current_web_theme() {
return getPreference('theme');
}
/**
* Gets the complete url of a given file using the theme url as a root
*
* @param string $file the given file
* @return string
*/
function osc_current_web_theme_url($file = '') {
$info = WebThemes::newInstance()->loadThemeInfo(WebThemes::newInstance()->getCurrentTheme());
if (!file_exists(WebThemes::newInstance()->getCurrentThemePath() . $file) && $info['template'] != ''){
WebThemes::newInstance()->setParentTheme();
}
return WebThemes::newInstance()->getCurrentThemeUrl() . $file;
}
/**
* Gets the complete path of a given file using the theme path as a root
*
* @param string $file
* @return string
*/
function osc_current_web_theme_path($file = '') {
$info = WebThemes::newInstance()->loadThemeInfo(WebThemes::newInstance()->getCurrentTheme());
if( file_exists(WebThemes::newInstance()->getCurrentThemePath() . $file) ){
require_once WebThemes::newInstance()->getCurrentThemePath() . $file;
} elseif($info['template'] != '') {
WebThemes::newInstance()->setParentTheme();
if( file_exists(WebThemes::newInstance()->getCurrentThemePath() . $file) ) {
require_once WebThemes::newInstance()->getCurrentThemePath() . $file;
} else {
WebThemes::newInstance()->setGuiTheme();
if( file_exists(WebThemes::newInstance()->getCurrentThemePath() . $file) ) {
require_once WebThemes::newInstance()->getCurrentThemePath() . $file;
}
}
} else {
WebThemes::newInstance()->setGuiTheme();
if( file_exists(WebThemes::newInstance()->getCurrentThemePath() . $file) ) {
require_once WebThemes::newInstance()->getCurrentThemePath() . $file;
}
}
}
/**
* Gets the complete path of a given styles file using the theme path as a root
*
* @param string $file
* @return string
*/
function osc_current_web_theme_styles_url($file = '') {
return WebThemes::newInstance()->getCurrentThemeStyles() . $file;
}
/**
* Gets the complete path of a given js file using the theme path as a root
*
* @param string $file
* @return string
*/
function osc_current_web_theme_js_url($file = '') {
return WebThemes::newInstance()->getCurrentThemeJs() . $file;
}
/**
* Gets the complete path of a given common asset
*
* @since 3.0
* @param string $file
* @param string $assets_base_url
* @return string
*/
function osc_assets_url($file = '', $assets_base_url = null) {
if( strpos($file, '../') !== false || strpos($file, '..\\') !== false) {
$file = '';
}
if ( is_null($assets_base_url) ) {
return osc_base_url() . 'oc-includes/osclass/assets/' . $file;
}
else {
return $assets_base_url . $file;
}
}
/////////////////////////////////////
//functions for the public website //
/////////////////////////////////////
/**
* Create automatically the contact url
*
* @return string
*/
function osc_contact_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_contact');
} else {
$path = osc_base_url(true) . '?page=contact';
}
return $path;
}
/**
* Create automatically the url to post an item in a category
*
* @return string
*/
function osc_item_post_url_in_category() {
if (osc_category_id() > 0) {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_item_new') . '/' . osc_category_id();
} else {
$path = sprintf(osc_base_url(true) . '?page=item&action=item_add&catId=%d', osc_category_id());
}
} else {
$path = osc_item_post_url();
}
return $path;
}
/**
* Create automatically the url to post an item
*
* @return string
*/
function osc_item_post_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_item_new');
} else {
$path = osc_base_url(true) . '?page=item&action=item_add';
}
return $path;
}
/**
* Create automatically the url of a category
*
* @param string $pattern
* @return string the url
*/
function osc_search_category_url() {
return osc_search_url(array('sCategory' => osc_category_id()));
}
/**
* Create automatically the url of the users' dashboard
*
* @return string
*/
function osc_user_dashboard_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_user_dashboard');
} else {
$path = osc_base_url(true) . '?page=user&action=dashboard';
}
return $path;
}
/**
* Create automatically the logout url
*
* @return string
*/
function osc_user_logout_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_user_logout');
} else {
$path = osc_base_url(true) . '?page=main&action=logout';
}
return $path;
}
/**
* Create automatically the login url
*
* @return string
*/
function osc_user_login_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_user_login');
} else {
$path = osc_base_url(true) . '?page=login';
}
return $path;
}
/**
* Create automatically the url to register an account
*
* @return string
*/
function osc_register_account_url() {
if ( osc_rewrite_enabled() ) {
$path = osc_base_url() . osc_get_preference('rewrite_user_register');
} else {
$path = osc_base_url(true) . '?page=register&action=register';
}
return $path;
}
/**
* Create automatically the url to activate an account
*
* @param int $id
* @param string $code
* @return string
*/
function osc_user_activate_url($id, $code) {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_activate') . '/' . $id . '/' . $code;
} else {
return osc_base_url(true) . '?page=register&action=validate&id=' . $id . '&code=' . $code;
}
}
/**
* Re-send the activation link
*
* @param int $id
* @param string $email
* @return string
*/
function osc_user_resend_activation_link($id, $email) {
return osc_base_url(true) . '?page=login&action=resend&id='.$id.'&email='.$email;
}
/**
* Create automatically the url of the item's comments page
*
* @param mixed $page
* @param string $locale
* @return string
*/
function osc_item_comments_url($page = 'all', $locale = '') {
if ( osc_rewrite_enabled() ) {
return osc_item_url($locale) . "?comments-page=" . $page;
} else {
return osc_item_url($locale) . "&comments-page=" . $page;
}
}
/**
* Create automatically the url of the item's comments page
*
* @param string $locale
* @return string
*/
function osc_comment_url($locale = '') {
return osc_item_url($locale) . "?comment=" . osc_comment_id();
}
/**
* Create automatically the url of the item details page
*
* @param string $locale
* @return string
*/
function osc_item_url($locale = '')
{
return osc_item_url_from_item(osc_item(), $locale);
}
/**
* Create item url from item data without exported to view.
*
* @since 3.3
* @param array $item
* @param string $locale
* @return string
*/
function osc_item_url_from_item($item, $locale = '')
{
if ( osc_rewrite_enabled() ) {
$url = osc_get_preference('rewrite_item_url');
if( preg_match('|{CATEGORIES}|', $url) ) {
$sanitized_categories = array();
$cat = Category::newInstance()->hierarchy($item['fk_i_category_id']);
for ($i = (count($cat)); $i > 0; $i--) {
$sanitized_categories[] = $cat[$i - 1]['s_slug'];
}
$url = str_replace('{CATEGORIES}', implode("/", $sanitized_categories), $url);
}
$url = @str_replace('{ITEM_ID}', osc_sanitizeString($item['pk_i_id']), $url);
$url = @str_replace('{ITEM_CITY}', osc_sanitizeString($item['s_city']), $url);
$url = @str_replace('{ITEM_TITLE}', osc_sanitizeString(str_replace(',', '-', $item['s_title'])), $url);
$url = @str_replace('?', '', $url);
if($locale!='') {
$path = osc_base_url().$locale."/".$url;
} else {
$path = osc_base_url().$url;
}
} else {
$path = osc_item_url_ns($item['pk_i_id'], $locale);
}
return $path;
}
/**
* Create automatically the url of the item details page
*
* @param string $locale
* @return string
*/
function osc_premium_url($locale = '') {
if ( osc_rewrite_enabled() ) {
$sanitized_categories = array();
$cat = Category::newInstance()->hierarchy(osc_premium_category_id());
for ($i = (count($cat)); $i > 0; $i--) {
$sanitized_categories[] = $cat[$i - 1]['s_slug'];
}
$url = @str_replace('{CATEGORIES}', implode("/", $sanitized_categories), @str_replace('{ITEM_ID}', osc_premium_id(), @str_replace('{ITEM_TITLE}', osc_sanitizeString(str_replace(',', '-', osc_premium_title())), osc_get_preference('rewrite_item_url'))));
if($locale!='') {
$path = osc_base_url().$locale."/".$url;
} else {
$path = osc_base_url().$url;
}
} else {
$path = osc_item_url_ns( osc_premium_id(), $locale );
}
return $path;
}
/**
* Create the no friendly url of the item using the id of the item
*
* @param int $id the primary key of the item
* @param $locale
* @return string
*/
function osc_item_url_ns($id, $locale = '') {
$path = osc_base_url(true) . '?page=item&id=' . $id;
if($locale!='') {
$path .= "&lang=" . $locale;
}
return $path;
}
/**
* Create automatically the url to for admin to edit an item
*
* @param int $id
* @return string
*/
function osc_item_admin_edit_url($id) {
return osc_admin_base_url(true) . '?page=items&action=item_edit&id=' . $id;
}
/**
* Gets current user alerts' url
*
* @return string
*/
function osc_user_alerts_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_alerts');
} else {
return osc_base_url(true) . '?page=user&action=alerts';
}
}
/**
* Gets current user alert unsubscribe url
*
* @param string $email
* @param string $secret
* @return string
*/
function osc_user_unsubscribe_alert_url( $id = '', $email = '', $secret = '') {
if($secret=='') { $secret = osc_alert_secret(); }
if($id=='') { $id = osc_alert_id(); }
if($email=='') { $email = osc_user_email(); }
return osc_base_url(true) . '?page=user&action=unsub_alert&email='.urlencode($email).'&secret='.$secret.'&id='.$id;
}
/**
* Gets user alert activate url
*
* @param string $secret
* @param string $email
* @return string
*/
function osc_user_activate_alert_url( $id, $secret , $email ) {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_activate_alert') . '/' . $id . '/' . $secret . '/' . urlencode($email);
} else {
return osc_base_url(true) . '?page=user&action=activate_alert&email=' . urlencode($email) . '&secret=' . $secret .'&id='.$id;
}
}
/**
* Gets current user url
*
* @return string
*/
function osc_user_profile_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_profile');
} else {
return osc_base_url(true) . '?page=user&action=profile';
}
}
/**
* Gets current user alert activate url
*
* @param int $page
* @return string
*/
function osc_user_list_items_url($page = '', $typeItem = '') {
if ( osc_rewrite_enabled() ) {
if($page=='') {
$typeItem = $typeItem != '' ? "?itemType=" . $typeItem : "";
return osc_base_url() . osc_get_preference('rewrite_user_items') . $typeItem ;
} else {
$typeItem = $typeItem != '' ? "&itemType=" . $typeItem : "";
return osc_base_url() . osc_get_preference('rewrite_user_items') . "?iPage=" . $page . $typeItem ;
}
} else {
if($page=='') {
return osc_base_url(true) . '?page=user&action=items';
} else {
return osc_base_url(true) . '?page=user&action=items&iPage='.$page;
}
}
}
/**
* Gets url to change email
*
* @return string
*/
function osc_change_user_email_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_change_email');
} else {
return osc_base_url(true) . '?page=user&action=change_email';
}
}
/**
* Gets url to change username
*
* @return string
*/
function osc_change_user_username_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_change_username');
} else {
return osc_base_url(true) . '?page=user&action=change_username';
}
}
/**
* Gets confirmation url of change email
*
* @param int $userId
* @param string $code
* @return string
*/
function osc_change_user_email_confirm_url($userId, $code) {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_change_email_confirm') . '/' . $userId . '/' . $code;
} else {
return osc_base_url(true) . '?page=user&action=change_email_confirm&userId=' . $userId . '&code=' . $code;
}
}
/**
* Gets url for changing password
*
* @return string
*/
function osc_change_user_password_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_change_password');
} else {
return osc_base_url(true) . '?page=user&action=change_password';
}
}
/**
* Gets url for recovering password
*
* @return string
*/
function osc_recover_user_password_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_recover');
} else {
return osc_base_url(true) . '?page=login&action=recover';
}
}
/**
* Gets url for confirm the forgot password process
*
* @param int $userId
* @param string $code
* @return string
*/
function osc_forgot_user_password_confirm_url($userId, $code) {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_user_forgot') . '/' . $userId . '/' . $code;
} else {
return osc_base_url(true) . '?page=login&action=forgot&userId='.$userId.'&code='.$code;
}
}
/**
* Gets url for confirmation admin password recover proces
*
* @param int $adminId
* @param string $code
* @return string
*/
function osc_forgot_admin_password_confirm_url($adminId, $code) {
return osc_admin_base_url(true) . '?page=login&action=forgot&adminId='.$adminId.'&code='.$code;
}
/**
* Gets url for changing website language (for users)
*
* @param string $locale
* @return string
*/
function osc_change_language_url($locale) {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_language') . '/' . $locale;
} else {
return osc_base_url(true) . '?page=language&locale=' . $locale;
}
}
/////////////////////////////////////
// functions for items //
/////////////////////////////////////
/**
* Gets url for editing an item
*
* @param string $secret
* @param int $id
* @return string
*/
function osc_item_edit_url($secret = '', $id = '') {
if ($id == '') { $id = osc_item_id(); };
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_edit') . '/' . $id . '/' . $secret;
} else {
return osc_base_url(true) . '?page=item&action=item_edit&id=' . $id . ($secret != '' ? '&secret=' . $secret : '');
}
}
/**
* Gets url for delete an item
*
* @param string $secret
* @param int $id
* @return string
*/
function osc_item_delete_url($secret = '', $id = '') {
if ($id == '') { $id = osc_item_id(); };
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_delete') . '/' . $id . '/' . $secret;
} else {
return osc_base_url(true) . '?page=item&action=item_delete&id=' . $id . ($secret != '' ? '&secret=' . $secret : '');
}
}
/**
* Gets url for activate an item
*
* @param string $secret
* @param int $id
* @return string
*/
function osc_item_activate_url($secret = '', $id = '') {
if ($id == '') { $id = osc_item_id(); };
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_activate') . '/' . $id . '/' . $secret;
} else {
return osc_base_url(true) . '?page=item&action=activate&id=' . $id . ($secret != '' ? '&secret=' . $secret : '');
}
}
/**
* Gets url for deactivate an item
*
* @param string $secret
* @param int $id
* @return string
*/
function osc_item_deactivate_url($secret = '', $id = '') {
if ($id == '') { $id = osc_item_id(); };
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_deactivate') . '/' . $id . '/' . $secret;
} else {
return osc_base_url(true) . '?page=item&action=deactivate&id=' . $id . ($secret != '' ? '&secret=' . $secret : '');
}
}
/**
* Gets url for approve an item
*
* @param int $id
* @return string
*/
function osc_item_approve_url($id = '') {
return osc_admin_base_url(true) . '?page=items&action=status&id=' . $id . '&' . osc_csrf_token_url() . '&value=APPROVE';
}
/**
* Gets url for deleting a resource of an item
*
* @param int $id of the resource
* @param int $item
* @param string $code
* @param string $secret
* @return string
*/
function osc_item_resource_delete_url($id, $item, $code, $secret = '') {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_resource_delete') . '/' . $id . '/' . $item . '/' . $code . ($secret != '' ? '/' . $secret : '');
} else {
return osc_base_url(true) . '?page=item&action=deleteResource&id=' . $id . '&item=' . $item . '&code=' . $code . ($secret != '' ? '&secret=' . $secret : '');
}
}
/**
* Gets url of send a friend (current item)
*
* @return string
*/
function osc_item_send_friend_url() {
if ( osc_rewrite_enabled() ) {
return osc_base_url() . osc_get_preference('rewrite_item_send_friend') . '/' . osc_item_id();
} else {
return osc_base_url(true)."?page=item&action=send_friend&id=".osc_item_id();
}
}
/**
* @param $id
* @param $args
* @since 3.2
*/
function osc_route_url($id, $args = array()) {
$routes = Rewrite::newInstance()->getRoutes();
if(!isset($routes[$id])) { return ''; };
if ( osc_rewrite_enabled() ) {
$uri = $routes[$id]['url'];
$params_url = '';
foreach($args as $k => $v) {
$old_uri = $uri;
$uri = str_ireplace('{'.$k.'}', $v, $uri);
if($old_uri==$uri) {
$params_url .= '&'.$k.'='.$v;
}
}
return osc_base_url().$uri.(($params_url!='')?'?'.$params_url:'');
} else {
$params_url = '';
foreach($args as $k => $v) {
$params_url .= '&'.$k.'='.$v;
}
return osc_base_url(true)."?page=custom&route=".$id.$params_url;
}
}
/**
* @param $id
* @param $args
* @since 3.2
*/
function osc_route_admin_url($id, $args = array()) {
$routes = Rewrite::newInstance()->getRoutes();
if(!isset($routes[$id])) { return ''; };
$params_url = '';
foreach($args as $k => $v) {
$params_url .= '&'.$k.'='.$v;
}
return osc_admin_base_url(true)."?page=plugins&action=renderplugin&route=".$id.$params_url;
}
/**
* @param $id
* @param $args
* @since 3.2
*/
function osc_route_ajax_url($id, $args = array()) {
$routes = Rewrite::newInstance()->getRoutes();
if(!isset($routes[$id])) { return ''; };
$params_url = '';
foreach($args as $k => $v) {
$params_url .= '&'.$k.'='.$v;
}
return osc_base_url(true)."?page=ajax&action=custom&route=".$id.$params_url;
}
/**
* @param $id
* @param $args
* @since 3.2
*/
function osc_route_admin_ajax_url($id, $args = array()) {
$routes = Rewrite::newInstance()->getRoutes();
if(!isset($routes[$id])) { return ''; };
$params_url = '';
foreach($args as $k => $v) {
$params_url .= '&'.$k.'='.$v;
}
return osc_admin_base_url(true)."?page=ajax&action=custom&route=".$id.$params_url;
}
/////////////////////////////////////
//functions for locations & search //
/////////////////////////////////////
/**
* Gets list of countries
*
* @return string
*/
function osc_get_countries() {
if (View::newInstance()->_exists('countries')) {
return View::newInstance()->_get('countries');
} else {
return Country::newInstance()->listAll();
}
}
/**
* Gets list of regions (from a country)
*
* @param int $country
* @return string
*/
function osc_get_regions($country = '') {
if (View::newInstance()->_exists('regions')) {
return View::newInstance()->_get('regions');
} else {
if($country=='') {
return Region::newInstance()->listAll();
} else {
return Region::newInstance()->findByCountry($country);
}
}
}
/**
* Gets list of cities (from a region)
*
* @param int $region
* @return string
*/
function osc_get_cities($region = '') {
if (View::newInstance()->_exists('cities')) {
return View::newInstance()->_get('cities');
} else {
if($region=='') {
return City::newInstance()->listAll();
} else {
return City::newInstance()->findByRegion($region);
}
}
}
/**
* Gets list of currencies
*
* @return string
*/
function osc_get_currencies() {
if (!View::newInstance()->_exists('currencies')) {
View::newInstance()->_exportVariableToView('currencies', Currency::newInstance()->listAll());
}
return View::newInstance()->_get('currencies');
}
/**
* Prints the additional options to the menu
*
* @param array $option with options of the form array('name' => 'display name', 'url' => 'url of link')
*
* @return void
*/
function osc_add_option_menu($option = null) {
if($option!=null) {
echo '<li><a href="' . $option['url'] . '" >' . $option['name'] . '</a></li>';
}
}
/**
* Get if user is on homepage
*
* @return boolean
*/
function osc_is_home_page() {
return osc_is_current_page('', '');
}
/**
* Get if user is on search page
*
* @return boolean
*/
function osc_is_search_page() {
return osc_is_current_page('search', '');
}
/**
* Get if user is on a static page
*
* @return boolean
*/
function osc_is_static_page() {
return osc_is_current_page('page', '');
}
/**
* Get if user is on a contact page
*
* @return boolean
*/
function osc_is_contact_page() {
return osc_is_current_page('contact', '');
}
/**
* Get if user is on ad page
*
* @return boolean
*/
function osc_is_ad_page() {
return osc_is_current_page('item', '');
}
/**
* Get if user is on publish page
*
* @return boolean
*/
function osc_is_publish_page() {
return osc_is_current_page('item', 'item_add');
}
/**
* Get if user is on edit page
*
* @return boolean
*/
function osc_is_edit_page() {
return osc_is_current_page('item', 'item_edit');
}
/**
* Get if user is on a item contact page
*
* @return boolean
*/
function osc_is_item_contact_page() {
return osc_is_current_page('item', 'contact');
}
/**
* Get if user is on login form
*
* @return boolean
* @deprecated since version 3.5.7 use osc_is_login_page()
*/
function osc_is_login_form() {
return osc_is_current_page('login', '');
}
/**
* Get if user is on login page
*
* @return boolean
*/
function osc_is_login_page() {
return osc_is_current_page('login', '');
}
/**
* Get if user is on register page
*
* @return boolean
*/
function osc_is_register_page() {
return osc_is_current_page("register", "register");
}
/**
* Get if the user is on recover page
*
* @return boolean
*/
function osc_is_recover_page() {
return osc_is_current_page('login', 'recover');
}
/**
* Get if the user is on forgot page
*
* @return boolean
*/
function osc_is_forgot_page() {
return osc_is_current_page('login', 'forgot');
}
/**
* Get if the user is on custom page
*
* @return boolean
*/
function osc_is_custom_page($value = null) {
if(Rewrite::newInstance()->get_location()=='custom') {
if($value==null || Params::getParam('file')==$value || Params::getParam('route')==$value) {
return true;
}
}
return false;
}
/**
* Get if the user is on public profile page
*
* @return boolean
*/
function osc_is_public_profile() {
return osc_is_current_page('user', 'pub_profile');
}
/**
* Get if user is on user dashboard
*
* @return boolean
*/
function osc_is_user_dashboard() {
return osc_is_current_page('user', 'dashboard');
}
/**
* Get if user is on user profile
*
* @return boolean
*/
function osc_is_user_profile() {
return osc_is_current_page('user', 'profile');
}
/**
* Get if the user is on user's items page
*
* @return boolean
*/
function osc_is_list_items() {
return osc_is_current_page('user', 'items');
}
/**
* Get if the user is on user's alerts page
*
* @return boolean
*/
function osc_is_list_alerts() {
return osc_is_current_page('user', 'alerts');
}
/**
* Get if user is on change email page
*
* @return boolean
*/
function osc_is_change_email_page() {
return osc_is_current_page('user', 'change_email');
}
/**
* Get if user is on change username page
*
* @return boolean
*/
function osc_is_change_username_page() {
return osc_is_current_page('user', 'change_username');
}
/**
* Get if user is on change password page
*
* @return boolean
*/
function osc_is_change_password_page() {
return osc_is_current_page('user', 'change_password');
}
/**
* Get if the user is on page
*
* @param string $location of the resource
* @param string $section
* @return boolean
*/
function osc_is_current_page($location, $section) {
if( osc_get_osclass_location() === $location && osc_get_osclass_section() === $section ) {
return true;
}
return false;
}
/**
* Get if the user is on 404 error page
*
* @return boolean
*/
function osc_is_404() {
return ( Rewrite::newInstance()->get_location() === 'error' );
}
/**
* Get location
*
* @return string
*/
function osc_get_osclass_location() {
return Rewrite::newInstance()->get_location();
}
/**
* Get section
*
* @return string
*/
function osc_get_osclass_section() {
return Rewrite::newInstance()->get_section();
}
/**
* Check is an admin is a super admin or only a moderator
*
* @return boolean
*/
function osc_is_moderator() {
$admin = Admin::newInstance()->findByPrimaryKey(osc_logged_admin_id());
if( isset($admin['b_moderator']) && $admin['b_moderator']!=0 ) {
return true;
}
return false;
}
function osc_get_domain() {
$result = parse_url( osc_base_url() );
return $result['host'];
}
function osc_breadcrumb($separator = '»', $echo = true, $lang = array()) {
$br = new Breadcrumb($lang);
$br->init();
if( $echo ) {
echo $br->render($separator);
return;
}
return $br->render($separator);
}
function osc_subdomain_name() {
return View::newInstance()->_get('subdomain_name');
}
function osc_subdomain_slug() {
return View::newInstance()->_get('subdomain_slug');
}
function osc_is_subdomain() {
return View::newInstance()->_get('subdomain_slug')!='';
}
/* file end: ./oc-includes/osclass/helpers/hDefines.php */