function google_cars() { echo '<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0"> <channel> <title>' . osc_page_title() . '</title> <description>' . osc_page_description() . '</description> <link>' . osc_base_url() . '</link>'; if (osc_count_items()) { while (osc_has_items()) { $item = feed_get_car_data(osc_item()); $date = date('d/m/Y'); $time = date('H:i'); if (preg_match('|([0-9]{4})-([0-9]{2})-([0-9]{2})|', osc_item_pub_date(), $tmp)) { $date = $tmp[3] . "/" . $tmp[2] . "/" . $tmp[1]; } echo '<item> <title>' . osc_item_title() . '</title> <description>' . osc_item_description() . '</description> <g:id>' . osc_item_id() . '</g:id> <link>' . osc_item_url() . '</link> <g:location>' . (osc_item_address() != '' ? osc_item_address() : '') . ', ' . (osc_item_city() != '' ? osc_item_city() : '') . ', ' . (osc_item_region() != '' ? osc_item_region() : '') . ', ' . (osc_item_zip() != '' ? osc_item_zip() : '') . ' ' . (osc_item_country() != '' ? osc_item_country() : '') . '</g:location> <g:publish_date>' . $date . '</g:publish_date> <g:color>' . (isset($item['s_color']) ? $item['s_color'] : '') . '</g:color> <g:condition>' . (isset($item['b_new']) && $item['b_new'] == 1 ? 'new' : 'used') . '</g:condition>'; if (osc_count_item_resources() > 0) { while (osc_has_item_resources()) { if (strpos(osc_resource_type(), 'image') !== FALSE) { echo '<g:image_link>' . osc_resource_path() . '</g:image_link>'; } } } echo '<g:make>' . (isset($item['s_make']) ? $item['s_make'] : '') . '</g:make> <g:mileage>' . (isset($item['i_mileage']) ? $item['i_mileage'] : '') . '</g:mileage> <g:model>' . (isset($item['s_model']) ? $item['s_model'] : '') . '</g:model> <g:price>' . (osc_item_price() != '' ? osc_item_price() : '') . '</g:price> <g:vehicle_type>' . (isset($item['s_name']) ? $item['s_name'] : '') . '</g:vehicle_type> <g:year>' . (isset($item['i_year']) ? $item['i_year'] : '') . '</g:year> </item>'; } } echo '</channel> </rss>'; }
function autocompleteCity() { ?> <script type="text/javascript"> $(function() { function log( message ) { $( "<div/>" ).text( message ).prependTo( "#log" ); $( "#log" ).attr( "scrollTop", 0 ); } $( "#sCity" ).autocomplete({ source: "<?php echo osc_base_url(true); ?> ?page=ajax&action=location", minLength: 2, select: function( event, ui ) { $("#sRegion").attr("value", ui.item.region); log( ui.item ? "<?php echo osc_esc_html(__('Selected', 'bender')); ?> : " + ui.item.value + " aka " + ui.item.id : "<?php echo osc_esc_html(__('Nothing selected, input was', 'bender')); ?> " + this.value ); } }); }); </script> <?php }
function __construct() { // this is necessary because if HTTP_HOST doesn't have the PORT the parse_url is null $current_host = parse_url(Params::getServerParam('HTTP_HOST'), PHP_URL_HOST); if ($current_host === null) { $current_host = Params::getServerParam('HTTP_HOST'); } if (parse_url(osc_base_url(), PHP_URL_HOST) !== $current_host) { // first check if it's http or https $url = 'http://'; if (osc_is_ssl()) { $url = 'https://'; } // append the domain $url .= parse_url(osc_base_url(), PHP_URL_HOST); // append the port number if it's necessary $http_port = parse_url(Params::getServerParam('HTTP_HOST'), PHP_URL_PORT); if ($http_port !== 80) { $url .= ':' . parse_url(Params::getServerParam('HTTP_HOST'), PHP_URL_PORT); } // append the request $url .= Params::getServerParam('REQUEST_URI', false, false); $this->redirectTo($url); } $this->subdomain_params($current_host); $this->page = Params::getParam('page'); $this->action = Params::getParam('action'); $this->ajax = false; $this->time = list($sm, $ss) = explode(' ', microtime()); WebThemes::newInstance(); osc_run_hook('init'); }
/** * Send email to user when they get a new PM * * @param integer $item * @param integer $offer_value * * @dynamic tags * * '{RECIP_NAME}', '{SENDER_NAME}', '{WEB_URL}', '{WEB_TITLE}', '{PM_URL}', '{PM_SUBJECT}', '{PM_MESSAGE}' */ function new_pm_email($pm_info) { $mPages = new Page(); $aPage = $mPages->findByInternalName('email_PM_alert'); $locale = osc_current_user_locale(); $content = array(); if (isset($aPage['locale'][$locale]['s_title'])) { $content = $aPage['locale'][$locale]; } else { $content = current($aPage['locale']); } if ($pm_info['sender_id'] == 0) { $sender_name = pmAdmin(); } else { $pm_senderData = User::newInstance()->findByPrimaryKey($pm_info['sender_id']); $sender_name = $pm_senderData['s_name']; } if ($pm_info['recip_id'] == 0) { $pm_url = osc_admin_base_url(true) . '?page=plugins&action=renderplugin&file=osclass_pm/admin-send.php?userId=' . $pm_info['sender_id'] . '&mType=adminQuote&messId=' . $pm_info['pm_id']; $pm_name = pmAdmin(); $pm_recipData['s_email'] = osc_contact_email(); } else { $pm_url = osc_base_url(true) . '?page=custom&file=osclass_pm/user-send.php?userId=' . $pm_info['sender_id'] . '&mType=quote&messId=' . $pm_info['pm_id']; $pm_recipData = User::newInstance()->findByPrimaryKey($pm_info['recip_id']); $pm_name = $pm_recipData['s_name']; } $pm_url = '<a href="' . $pm_url . '" >' . $pm_url . '</a>'; $words = array(); $words[] = array('{RECIP_NAME}', '{SENDER_NAME}', '{WEB_URL}', '{WEB_TITLE}', '{PM_URL}', '{PM_SUBJECT}', '{PM_MESSAGE}', '[quote]', '[/quote]', '[quoteAuthor]', '[/quoteAuthor]'); $words[] = array($pm_name, $sender_name, osc_base_url(), osc_page_title(), $pm_url, $pm_info['pm_subject'], nl2br($pm_info['pm_message']), '<div class="messQuote">', '</div>', '<div class="quoteAuthor">', '</div>'); $title = osc_mailBeauty($content['s_title'], $words); $body = osc_mailBeauty($content['s_text'], $words); $emailParams = array('subject' => $title, 'to' => $pm_recipData['s_email'], 'to_name' => $pm_name, 'body' => $body, 'alt_body' => $body); osc_sendMail($emailParams); }
/** * Sanitize the file url removing the base url * @param array $urls * @return array Urls */ function minify_clean_url(array $urls) { foreach ($urls as &$url) { $url = str_replace(osc_base_url(), '/', $url); } return $urls; }
private function setCurrentThemeUrl() { if ($this->theme_exists) { $this->theme_url = osc_base_url() . 'oc-content/themes/' . $this->theme . '/'; } else { $this->theme_url = osc_base_url() . 'oc-includes/osclass/gui/'; } }
function indeed() { echo '<?xml version="1.0" encoding="utf-8"?> <source> <publisher>' . osc_page_title() . '</publisher> <publisherurl>' . osc_base_url() . '</publisherurl> <lastBuildDate>' . date("D, j M Y G:i:s T") . '</lastBuildDate>'; if (osc_count_items()) { while (osc_has_items()) { $item = feed_get_job_data(osc_item()); $salary = ""; if (isset($item['i_salary_min']) && $item['i_salary_min'] != '') { $salary = $item['i_salary_min']; } if (isset($item['i_salary_max']) && $item['i_salary_max'] != '') { if ($salary != "") { $salary .= ' - '; } $salary .= $item['i_salary_max']; } if (isset($item['e_salary_period']) && $item['e_slary_period'] != '') { if ($salary != "") { $salary .= ' '; $salary .= $item['e_salary_period']; } } $locale = current($item['locale']); if (isset($locale['s_desired_exp']) && $locale['s_desired_exp'] != '') { $experience = $locale['s_desired_exp']; } else { $experience = ''; } if (isset($locale['s_studies']) && $locale['s_studies'] != '') { $education = $locale['s_studies']; } else { $education = ''; } echo '<job> <title><![CDATA[' . osc_item_title() . ']]></title> <date><![CDATA[' . osc_item_pub_date() . ']]></date> <referencenumber><![CDATA[' . osc_item_id() . ']]></referencenumber> <url><![CDATA[' . osc_item_url() . ']]></url> <company><![CDATA[' . (isset($item['s_company_name']) && $item['s_company_name'] != NULL ? $item['s_company_name'] : '') . ']]></company> <city><![CDATA[' . (osc_item_city() != NULL ? osc_item_city() : '') . ']]></city> <state><![CDATA[' . (osc_item_region() != NULL ? osc_item_region() : '') . ']]></state> <country><![CDATA[' . (osc_item_country() != NULL ? osc_item_country() : '') . ']]></country> <postalcode><![CDATA[' . (osc_item_zip() != NULL ? osc_item_zip() : '') . ']]></postalcode> <description><![CDATA[' . (osc_item_description() != NULL ? osc_item_description() : '') . ']]></description> <salary><![CDATA[' . $salary . ']]></salary> <education><![CDATA[' . $education . ']]></education> <jobtype><![CDATA[' . (isset($item['e_position_type']) && $item['e_position_type'] != NULL ? $item['e_position_type'] : '') . ']]></jobtype> <category><![CDATA[]]></category> <experience><![CDATA[' . $experience . ']]></experience> </job>'; } } echo '</source>'; }
function doModel() { switch ($this->action) { case 'change_email_confirm': //change email confirm if (Params::getParam('userId') && Params::getParam('code')) { $userManager = new User(); $user = $userManager->findByPrimaryKey(Params::getParam('userId')); if ($user['s_pass_code'] == Params::getParam('code') && $user['b_enabled'] == 1) { $userEmailTmp = UserEmailTmp::newInstance()->findByPk(Params::getParam('userId')); $code = osc_genRandomPassword(50); $userManager->update(array('s_email' => $userEmailTmp['s_new_email']), array('pk_i_id' => $userEmailTmp['fk_i_user_id'])); Item::newInstance()->update(array('s_contact_email' => $userEmailTmp['s_new_email']), array('fk_i_user_id' => $userEmailTmp['fk_i_user_id'])); ItemComment::newInstance()->update(array('s_author_email' => $userEmailTmp['s_new_email']), array('fk_i_user_id' => $userEmailTmp['fk_i_user_id'])); Alerts::newInstance()->update(array('s_email' => $userEmailTmp['s_new_email']), array('fk_i_user_id' => $userEmailTmp['fk_i_user_id'])); Session::newInstance()->_set('userEmail', $userEmailTmp['s_new_email']); UserEmailTmp::newInstance()->delete(array('s_new_email' => $userEmailTmp['s_new_email'])); osc_add_flash_ok_message(_m('Your email has been changed successfully')); $this->redirectTo(osc_user_profile_url()); } else { osc_add_flash_error_message(_m('Sorry, the link is not valid')); $this->redirectTo(osc_base_url()); } } else { osc_add_flash_error_message(_m('Sorry, the link is not valid')); $this->redirectTo(osc_base_url()); } break; case 'activate_alert': $email = Params::getParam('email'); $secret = Params::getParam('secret'); $result = 0; if ($email != '' && $secret != '') { $result = Alerts::newInstance()->activate($email, $secret); } if ($result == 1) { osc_add_flash_ok_message(_m('Alert activated')); } else { osc_add_flash_error_message(_m('Ops! There was a problem trying to activate alert. Please contact the administrator')); } $this->redirectTo(osc_base_url(true)); break; case 'unsub_alert': $email = Params::getParam('email'); $secret = Params::getParam('secret'); if ($email != '' && $secret != '') { Alerts::newInstance()->delete(array('s_email' => $email, 'S_secret' => $secret)); osc_add_flash_ok_message(_m('Unsubscribed correctly')); } else { osc_add_flash_error_message(_m('Ops! There was a problem trying to unsubscribe you. Please contact the administrator')); } $this->redirectTo(osc_base_url()); break; default: $this->redirectTo(osc_user_login_url()); break; } }
/** * Gets the pagination links of search pagination * * @return string pagination links */ function osc_search_pagination() { $params = array(); if (View::newInstance()->_exists('search_uri')) { $params['url'] = osc_base_url() . View::newInstance()->_get('search_uri') . '/{PAGE}'; } $pagination = new Pagination($params); return $pagination->doPagination(); }
function listcloud_ShowCloud() { $text_content = file_get_contents(osc_base_url() . '/oc-content/uploads/listcloud_feeds.cache'); $cloud = new PTagCloud(50); $cloud->setUTF8(true); $cloud->addTagsFromText($text_content); $cloud->setWidth("300px"); echo $cloud->listcloud_Show(); }
function qrcode_install() { @mkdir(osc_content_path() . 'uploads/qrcode/'); $conn = getConnection(); osc_set_preference('upload_path', osc_content_path() . 'uploads/qrcode/', 'qrcode', 'STRING'); osc_set_preference('upload_url', osc_base_url() . 'oc-content/uploads/qrcode/', 'qrcode', 'STRING'); osc_set_preference('code_size', '2', 'qrcode', 'INTEGER'); $conn->commit(); }
public static function dialogJS() { ?> <div id="coinjar-dialog" title="<?php _e('CoinJar', 'payment'); ?> " style="display: none;"><span id="coinjar-dialog-text"></span></div> <script type="text/javascript"> function coinjar_pay(amount, description, itemnumber, extra) { $('#coinjar-dialog-text').html('<?php _e('You are going to be redirected to our payment processor to continue with the payment. Please wait', 'payment'); ?> '); $('#coinjar-dialog').dialog('open'); $.ajax({ type: "POST", url: '<?php echo osc_base_url(true); ?> ', dataType: 'json', data: { 'page':'ajax', 'action':'runhook', 'hook':'coinjar', 'amount':amount, 'description':description, 'itemnumber':itemnumber, 'extra':extra }, success: function(data) { console.log(data); if(data.error==0) { window.location = data.url; } else { $('#coinjar-dialog-text').html('<?php _e('We are experiencing some errors, please try in a few moments', 'payment'); ?> '); } } }); } $(document).ready(function(){ $("#coinjar-dialog").dialog({ autoOpen: false, modal: true }); }); </script> <?php }
function doModel() { switch ($this->action) { case 'contact_post': //contact_post $yourName = Params::getParam('yourName'); $yourEmail = Params::getParam('yourEmail'); $subject = Params::getParam('subject'); $message = Params::getParam('message'); if (osc_recaptcha_private_key() != '' && Params::existParam("recaptcha_challenge_field")) { if (!osc_check_recaptcha()) { osc_add_flash_error_message(_m('The Recaptcha code is wrong')); Session::newInstance()->_setForm("yourName", $yourName); Session::newInstance()->_setForm("yourEmail", $yourEmail); Session::newInstance()->_setForm("subject", $subject); Session::newInstance()->_setForm("message_body", $message); $this->redirectTo(osc_contact_url()); return false; // BREAK THE PROCESS, THE RECAPTCHA IS WRONG } } if (!preg_match('|.*?@.{2,}\\..{2,}|', $yourEmail)) { osc_add_flash_error_message(_m('You have to introduce a correct e-mail')); Session::newInstance()->_setForm("yourName", $yourName); Session::newInstance()->_setForm("subject", $subject); Session::newInstance()->_setForm("message_body", $message); $this->redirectTo(osc_contact_url()); } $params = array('from' => $yourEmail, 'from_name' => $yourName, 'subject' => '[' . osc_page_title() . '] ' . __('Contact form') . ': ' . $subject, 'to' => osc_contact_email(), 'to_name' => __('Administrator'), 'body' => $message, 'alt_body' => $message); if (osc_contact_attachment()) { $attachment = Params::getFiles('attachment'); $resourceName = $attachment['name']; $tmpName = $attachment['tmp_name']; $resourceType = $attachment['type']; $path = osc_content_path() . 'uploads/' . time() . '_' . $resourceName; if (!is_writable(osc_content_path() . 'uploads/')) { osc_add_flash_error_message(_m('There has been some errors sending the message')); $this->redirectTo(osc_base_url()); } if (!move_uploaded_file($tmpName, $path)) { unset($path); } } if (isset($path)) { $params['attachment'] = $path; } osc_sendMail($params); osc_add_flash_ok_message(_m('Your e-mail has been sent properly. Thank your for contacting us!')); $this->redirectTo(osc_base_url()); break; default: //contact $this->doView('contact.php'); } }
public function setGuiTheme() { $this->theme = ''; $this->theme_exists = false; $this->theme_path = osc_lib_path() . 'osclass/gui/'; $this->theme_url = osc_base_url() . 'oc-includes/osclass/gui/'; $functions_path = $this->getCurrentThemePath() . 'functions.php'; if (file_exists($functions_path)) { require_once $functions_path; } }
public static function button($amount = '0.00', $description = '', $itemnumber = '101', $extra_array = null) { $extra = payment_prepare_custom($extra_array); $r = rand(0, 1000); $extra .= 'random,' . $r; $apcs = self::customToAPC($extra); $RETURNURL = osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__) . 'return.php?extra=' . $extra; $CANCELURL = osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__) . 'cancel.php?extra=' . $extra; ?> <form method="post" action="https://secure.payza.com/checkout" > <input type="hidden" name="ap_merchant" value="*****@*****.**"/> <input type="hidden" name="ap_purchasetype" value="service"/> <input type="hidden" name="ap_itemname" value="<?php echo $description; ?> "/> <input type="hidden" name="ap_amount" value="<?php echo $amount; ?> "/> <input type="hidden" name="ap_currency" value="<?php echo osc_get_preference('currency', 'payment'); ?> "/> <input type="hidden" name="ap_quantity" value="1"/> <input type="hidden" name="ap_itemcode" value="<?php echo $itemnumber; ?> "/> <input type="hidden" name="ap_description" value="Audio equipment"/> <input type="hidden" name="ap_returnurl" value="<?php echo $RETURNURL; ?> "/> <input type="hidden" name="ap_cancelurl" value="<?php echo $CANCELURL; ?> "/> <?php foreach ($apcs as $k => $v) { echo '<input type="hidden" name="apc_' . $k . '" value="' . $v . '"/>'; } ?> <input type="image" src="<?php echo osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__); ?> payza-buy-now.png"/> </form> <?php }
function showAuthFailPage() { if (Params::getParam('page') == 'ajax') { echo json_encode(array('error' => 1, 'msg' => __('Session timed out'))); exit; } else { //Session::newInstance()->session_start(); Session::newInstance()->_setReferer(osc_base_url() . preg_replace('|^' . REL_WEB_URL . '|', '', Params::getServerParam('REQUEST_URI', false, false))); header("Location: " . osc_admin_base_url(true) . "?page=login"); exit; } }
/** * Create and print a "Pay with Paypal" button * * @param float $amount * @param string $description * @param string $itemnumber (publish fee, premium, pack and which category) * @param string $extra custom variables */ public static function button($amount = '0.00', $description = '', $itemnumber = '101', $extra_array = null) { if (osc_get_preference('currency', 'payment') != 'BTC') { $amount = osc_file_get_contents("https://blockchain.info/tobtc?currency=" . osc_get_preference('currency', 'payment') . "&value=" . $amount); } $extra = payment_prepare_custom($extra_array); $extra .= 'concept,' . $description . '|'; $extra .= 'product,' . $itemnumber . '|'; $r = rand(0, 1000); $extra .= 'random,' . $r; $CALLBACK_URL = osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__) . 'callback.php?extra=' . $extra; ?> <li class="payment bitcoin-btn"> <div class="blockchain-btn" data-address="<?php echo osc_get_preference('blockchain_btc_address', 'payment'); ?> " data-anonymous="false" data-callback="<?php echo $CALLBACK_URL; ?> "> <div class="blockchain stage-begin"> <img src="<?php echo osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__); ?> pay_now_64.png"> </div> <div class="blockchain stage-loading" style="text-align:center"> <img src="<?php echo osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__); ?> loading-large.gif"> </div> <div class="blockchain stage-ready"> <p align="center"><?php printf(__('Please send %f BTC to <br /> <b>[[address]]</b></p>', 'payment'), $amount); ?> <p align="center" class="qr-code"></p> </div> <div class="blockchain stage-paid"> <?php _e('Payment Received <b>[[value]] BTC</b>. Thank You.', 'payment'); ?> </div> <div class="blockchain stage-error"> <span color="red">[[error]]</span> </div> </div> </li> <?php }
/** * Gets the pagination links of search pagination * * @return string pagination links */ function osc_search_pagination() { $params = array(); if (View::newInstance()->_exists('search_uri')) { // CANONICAL URL $params['url'] = osc_base_url() . View::newInstance()->_get('search_uri') . '/{PAGE}'; $params['first_url'] = osc_base_url() . View::newInstance()->_get('search_uri'); } else { $params['first_url'] = osc_update_search_url(array('iPage' => null)); } $pagination = new Pagination($params); return $pagination->doPagination(); }
function doModel() { switch ($this->action) { case 'spamNbots': // calling the spam and bots view $akismet_key = osc_akismet_key(); $akismet_status = 3; if ($akismet_key != '') { require_once osc_lib_path() . 'Akismet.class.php'; $akismet_obj = new Akismet(osc_base_url(), $akismet_key); $akismet_status = 2; if ($akismet_obj->isKeyValid()) { $akismet_status = 1; } } View::newInstance()->_exportVariableToView('akismet_status', $akismet_status); $this->doView('settings/spamNbots.php'); break; case 'akismet_post': // updating spam and bots option osc_csrf_check(); $updated = 0; $akismetKey = Params::getParam('akismetKey'); $akismetKey = trim($akismetKey); $updated = osc_set_preference('akismetKey', $akismetKey); if ($akismetKey == '') { osc_add_flash_info_message(_m('Your Akismet key has been cleared'), 'admin'); } else { osc_add_flash_ok_message(_m('Your Akismet key has been updated'), 'admin'); } $this->redirectTo(osc_admin_base_url(true) . '?page=settings&action=spamNbots'); break; case 'recaptcha_post': // updating spam and bots option osc_csrf_check(); $iUpdated = 0; $recaptchaPrivKey = Params::getParam('recaptchaPrivKey'); $recaptchaPrivKey = trim($recaptchaPrivKey); $recaptchaPubKey = Params::getParam('recaptchaPubKey'); $recaptchaPubKey = trim($recaptchaPubKey); $iUpdated += osc_set_preference('recaptchaPrivKey', $recaptchaPrivKey); $iUpdated += osc_set_preference('recaptchaPubKey', $recaptchaPubKey); if ($recaptchaPubKey == '') { osc_add_flash_info_message(_m('Your reCAPTCHA key has been cleared'), 'admin'); } else { osc_add_flash_ok_message(_m('Your reCAPTCHA key has been updated'), 'admin'); } $this->redirectTo(osc_admin_base_url(true) . '?page=settings&action=spamNbots'); break; } }
function doModel() { $locale = Params::getParam('locale'); if (preg_match('/.{2}_.{2}/', $locale)) { Session::newinstance()->_set('userLocale', $locale); } $redirect_url = ''; if ($_SERVER['HTTP_REFERER'] != '') { $redirect_url = $_SERVER['HTTP_REFERER']; } else { $redirect_url = osc_base_url(true); } $this->redirectTo($redirect_url); }
function doModel() { $id = Params::getParam('id'); $page = false; if (is_numeric($id)) { $page = $this->pageManager->findByPrimaryKey($id); } else { $page = $this->pageManager->findByInternalName(Params::getParam('slug')); } // page not found if ($page == false) { $this->do404(); return; } // this page shouldn't be shown (i.e.: e-mail templates) if ($page['b_indelible'] == 1) { $this->do404(); return; } $kwords = array('{WEB_URL}', '{WEB_TITLE}'); $rwords = array(osc_base_url(), osc_page_title()); foreach ($page['locale'] as $k => $v) { $page['locale'][$k]['s_title'] = str_ireplace($kwords, $rwords, osc_apply_filter('email_description', $v['s_title'])); $page['locale'][$k]['s_text'] = str_ireplace($kwords, $rwords, osc_apply_filter('email_description', $v['s_text'])); } // export $page content to View $this->_exportVariableToView('page', $page); if (Params::getParam('lang') != '') { Session::newInstance()->_set('userLocale', Params::getParam('lang')); } $meta = json_decode($page['s_meta'], true); // load the right template file if (file_exists(osc_themes_path() . osc_theme() . '/page-' . $page['s_internal_name'] . '.php')) { $this->doView('page-' . $page['s_internal_name'] . '.php'); } else { if (isset($meta['template']) && file_exists(osc_themes_path() . osc_theme() . '/' . $meta['template'])) { $this->doView($meta['template']); } else { if (isset($meta['template']) && file_exists(osc_plugins_path() . '/' . $meta['template'])) { osc_run_hook('before_html'); require osc_plugins_path() . '/' . $meta['template']; Session::newInstance()->_clearVariables(); osc_run_hook('after_html'); } else { $this->doView('page.php'); } } } }
function osc_static_page_url($locale = '') { if ($locale != '') { if (osc_rewrite_enabled()) { return osc_base_url() . osc_static_page_field("s_internal_name") . "-p" . osc_static_page_field("pk_i_id") . "-" . $locale; } else { return osc_base_url(true) . "?page=page&id=" . osc_static_page_field("pk_i_id") . "&lang=" . $locale; } } else { if (osc_rewrite_enabled()) { return osc_base_url() . osc_static_page_field("s_internal_name") . "-p" . osc_static_page_field("pk_i_id"); } else { return osc_base_url(true) . "?page=page&id=" . osc_static_page_field("pk_i_id"); } } }
private function processData($media) { if (!empty($media)) { foreach ($media as $aRow) { $row = array(); $row['bulkactions'] = '<input type="checkbox" name="id[]" value="' . $aRow['pk_i_id'] . '" />'; $row['file'] = '<div id="media_list_pic"><img src="' . osc_apply_filter('resource_path', osc_base_url() . $aRow['s_path']) . $aRow['pk_i_id'] . '_thumbnail.' . $aRow['s_extension'] . '" style="max-width: 60px; max-height: 60px;" /></div> <div id="media_list_filename">' . $aRow['s_content_type']; $row['action'] = '<a onclick="return delete_dialog(\'' . $aRow['pk_i_id'] . '\');" >' . __('Delete') . '</a>'; $row['attached_to'] = '<a target="_blank" href="' . osc_item_url_ns($aRow['fk_i_item_id']) . '">item #' . $aRow['fk_i_item_id'] . '</a>'; $row['date'] = osc_format_date($aRow['dt_pub_date']); $row = osc_apply_filter('media_processing_row', $row, $aRow); $this->addRow($row); $this->rawRows[] = $aRow; } } }
function doModel() { switch ($this->action) { case 'logout': // unset only the required parameters in Session Session::newInstance()->_drop('userId'); Session::newInstance()->_drop('userName'); Session::newInstance()->_drop('userEmail'); Session::newInstance()->_drop('userPhone'); Cookie::newInstance()->pop('oc_userId'); Cookie::newInstance()->pop('oc_userSecret'); Cookie::newInstance()->set(); $this->redirectTo(osc_base_url()); break; default: $this->doView('main.php'); } }
/** * Load payment's js library */ function payment_load_lib() { if (Params::getParam('page') == 'custom') { osc_enqueue_style('payment-plugin', osc_base_url() . 'oc-content/plugins/' . osc_plugin_folder(__FILE__) . 'style.css'); if (osc_get_preference('paypal_enabled', 'payment') == 1) { osc_register_script('paypal', 'https://www.paypalobjects.com/js/external/dg.js', array('jquery')); osc_enqueue_script('paypal'); } if (osc_get_preference('blockchain_enabled', 'payment') == 1) { osc_register_script('blockchain', 'https://blockchain.info/Resources/wallet/pay-now-button.js', array('jquery')); osc_enqueue_script('blockchain'); } if (osc_get_preference('stripe_enabled', 'payment') == 1) { osc_register_script('stripe', 'https://checkout.stripe.com/v2/checkout.js', array('jquery')); osc_enqueue_script('stripe'); } } }
function getImage() { if (getUrl() == osc_base_url()) { if (file_exists(WebThemes::newInstance()->getCurrentThemePath() . "images/logo.jpg")) { $image = osc_current_web_theme_url('images/logo.jpg'); } else { $image = osc_current_web_theme_url('images/default-logo.jpg'); } } else { if (osc_images_enabled_at_items()) { if (osc_count_item_resources() > 0) { $image = osc_resource_url(); } else { $image = osc_current_web_theme_url('images/logo.jpg'); } } else { $image = osc_current_web_theme_url('images/logo.jpg'); } } return $image; }
?> <input name="sCity" id="sCity" placeholder="<?php _e('Type a city', 'flatter'); ?> " type="text" /> <input name="sRegion" id="sRegion" type="hidden" /> <script type="text/javascript"> $(function() { function log( message ) { $( "<div/>" ).text( message ).prependTo( "#log" ); $( "#log" ).attr( "scrollTop", 0 ); } $( "#sCity" ).autocomplete({ source: "<?php echo osc_base_url(true); ?> ?page=ajax&action=location", minLength: 2, select: function( event, ui ) { $("#sRegion").attr("value", ui.item.region); log( ui.item ? "<?php _e('Selected', 'flatter'); ?> : " + ui.item.value + " aka " + ui.item.id : "<?php _e('Nothing selected, input was', 'flatter'); ?> " + this.value ); }
function doModel() { osc_run_hook('before_search'); $mCategories = Category::newInstance(); if (osc_rewrite_enabled()) { // IF rewrite is not enabled, skip this part, preg_match is always time&resources consuming task $p_sParams = "/" . Params::getParam('sParams', false, false); if (preg_match_all('|\\/([^,]+),([^\\/]*)|', $p_sParams, $m)) { $l = count($m[0]); for ($k = 0; $k < $l; $k++) { switch ($m[1][$k]) { case osc_get_preference('rewrite_search_country'): $m[1][$k] = 'sCountry'; break; case osc_get_preference('rewrite_search_region'): $m[1][$k] = 'sRegion'; break; case osc_get_preference('rewrite_search_city'): $m[1][$k] = 'sCity'; break; case osc_get_preference('rewrite_search_city_area'): $m[1][$k] = 'sCityArea'; break; case osc_get_preference('rewrite_search_category'): $m[1][$k] = 'sCategory'; break; case osc_get_preference('rewrite_search_user'): $m[1][$k] = 'sUser'; break; case osc_get_preference('rewrite_search_pattern'): $m[1][$k] = 'sPattern'; break; default: break; } $_REQUEST[$m[1][$k]] = $m[2][$k]; $_GET[$m[1][$k]] = $m[2][$k]; unset($_REQUEST['sParams']); unset($_GET['sParams']); unset($_POST['sParams']); } } } //////////////////////////////// //GETTING AND FIXING SENT DATA// //////////////////////////////// $p_sCategory = Params::getParam('sCategory'); if (!is_array($p_sCategory)) { if ($p_sCategory == '') { $p_sCategory = array(); } else { $p_sCategory = explode(",", $p_sCategory); } } $p_sCityArea = Params::getParam('sCityArea'); if (!is_array($p_sCityArea)) { if ($p_sCityArea == '') { $p_sCityArea = array(); } else { $p_sCityArea = explode(",", $p_sCityArea); } } $p_sCity = Params::getParam('sCity'); if (!is_array($p_sCity)) { if ($p_sCity == '') { $p_sCity = array(); } else { $p_sCity = explode(",", $p_sCity); } } $p_sRegion = Params::getParam('sRegion'); if (!is_array($p_sRegion)) { if ($p_sRegion == '') { $p_sRegion = array(); } else { $p_sRegion = explode(",", $p_sRegion); } } $p_sCountry = Params::getParam('sCountry'); if (!is_array($p_sCountry)) { if ($p_sCountry == '') { $p_sCountry = array(); } else { $p_sCountry = explode(",", $p_sCountry); } } $p_sUser = Params::getParam('sUser'); if (!is_array($p_sUser)) { if ($p_sUser == '') { $p_sUser = ''; } else { $p_sUser = explode(",", $p_sUser); } } $p_sPattern = strip_tags(Params::getParam('sPattern')); // ADD TO THE LIST OF LAST SEARCHES if (osc_save_latest_searches()) { if (trim($p_sPattern) != '') { LatestSearches::newInstance()->insert(array('s_search' => trim($p_sPattern), 'd_date' => date('Y-m-d H:i:s'))); } } $p_bPic = Params::getParam('bPic'); $p_bPic == 1 ? $p_bPic = 1 : ($p_bPic = 0); $p_sPriceMin = Params::getParam('sPriceMin'); $p_sPriceMax = Params::getParam('sPriceMax'); //WE CAN ONLY USE THE FIELDS RETURNED BY Search::getAllowedColumnsForSorting() $p_sOrder = Params::getParam('sOrder'); if (!in_array($p_sOrder, Search::getAllowedColumnsForSorting())) { $p_sOrder = osc_default_order_field_at_search(); } $old_order = $p_sOrder; //ONLY 0 ( => 'asc' ), 1 ( => 'desc' ) AS ALLOWED VALUES $p_iOrderType = Params::getParam('iOrderType'); $allowedTypesForSorting = Search::getAllowedTypesForSorting(); $orderType = osc_default_order_type_at_search(); foreach ($allowedTypesForSorting as $k => $v) { if ($p_iOrderType == $v) { $orderType = $k; break; } } $p_iOrderType = $orderType; $p_sFeed = Params::getParam('sFeed'); $p_iPage = 0; if (is_numeric(Params::getParam('iPage')) && Params::getParam('iPage') > 0) { $p_iPage = intval(Params::getParam('iPage')) - 1; } if ($p_sFeed != '') { $p_sPageSize = 1000; } $p_sShowAs = Params::getParam('sShowAs'); $aValidShowAsValues = array('list', 'gallery'); if (!in_array($p_sShowAs, $aValidShowAsValues)) { $p_sShowAs = osc_default_show_as_at_search(); } // search results: it's blocked with the maxResultsPerPage@search defined in t_preferences $p_iPageSize = intval(Params::getParam('iPagesize')); if ($p_iPageSize > 0) { if ($p_iPageSize > osc_max_results_per_page_at_search()) { $p_iPageSize = osc_max_results_per_page_at_search(); } } else { $p_iPageSize = osc_default_results_per_page_at_search(); } //FILTERING CATEGORY $bAllCategoriesChecked = false; if (count($p_sCategory) > 0) { foreach ($p_sCategory as $category) { $this->mSearch->addCategory($category); } } else { $bAllCategoriesChecked = true; } //FILTERING CITY_AREA foreach ($p_sCityArea as $city_area) { $this->mSearch->addCityArea($city_area); } $p_sCityArea = implode(", ", $p_sCityArea); //FILTERING CITY foreach ($p_sCity as $city) { $this->mSearch->addCity($city); } $p_sCity = implode(", ", $p_sCity); //FILTERING REGION foreach ($p_sRegion as $region) { $this->mSearch->addRegion($region); } $p_sRegion = implode(", ", $p_sRegion); //FILTERING COUNTRY foreach ($p_sCountry as $country) { $this->mSearch->addCountry($country); } $p_sCountry = implode(", ", $p_sCountry); // FILTERING PATTERN if ($p_sPattern != '') { $this->mSearch->addPattern($p_sPattern); $osc_request['sPattern'] = $p_sPattern; } else { // hardcoded - if there isn't a search pattern, order by dt_pub_date desc if ($p_sOrder == 'relevance') { $p_sOrder = 'dt_pub_date'; foreach ($allowedTypesForSorting as $k => $v) { if ($p_iOrderType == 'desc') { $orderType = $k; break; } } $p_iOrderType = $orderType; } } // FILTERING USER if ($p_sUser != '') { $this->mSearch->fromUser($p_sUser); } // FILTERING IF WE ONLY WANT ITEMS WITH PICS if ($p_bPic) { $this->mSearch->withPicture(true); } //FILTERING BY RANGE PRICE $this->mSearch->priceRange($p_sPriceMin, $p_sPriceMax); //ORDERING THE SEARCH RESULTS $this->mSearch->order($p_sOrder, $allowedTypesForSorting[$p_iOrderType]); //SET PAGE $this->mSearch->page($p_iPage, $p_iPageSize); osc_run_hook('search_conditions', Params::getParamsAsArray()); if (!Params::existParam('sFeed')) { // RETRIEVE ITEMS AND TOTAL $aItems = $this->mSearch->doSearch(); $iTotalItems = $this->mSearch->count(); $iStart = $p_iPage * $p_iPageSize; $iEnd = min(($p_iPage + 1) * $p_iPageSize, $iTotalItems); $iNumPages = ceil($iTotalItems / $p_iPageSize); osc_run_hook('search', $this->mSearch); //preparing variables... $regionName = $p_sRegion; if (is_numeric($p_sRegion)) { $r = Region::newInstance()->findByPrimaryKey($p_sRegion); if ($r) { $regionName = $r['s_name']; } } $cityName = $p_sCity; if (is_numeric($p_sCity)) { $c = City::newInstance()->findByPrimaryKey($p_sCity); if ($c) { $cityName = $c['s_name']; } } //$this->_exportVariableToView('non_empty_categories', $aCategories) ; $this->_exportVariableToView('search_start', $iStart); $this->_exportVariableToView('search_end', $iEnd); $this->_exportVariableToView('search_category', $p_sCategory); // hardcoded - non pattern and order by relevance $p_sOrder = $old_order; $this->_exportVariableToView('search_order_type', $p_iOrderType); $this->_exportVariableToView('search_order', $p_sOrder); $this->_exportVariableToView('search_pattern', $p_sPattern); $this->_exportVariableToView('search_from_user', $p_sUser); $this->_exportVariableToView('search_total_pages', $iNumPages); $this->_exportVariableToView('search_page', $p_iPage); $this->_exportVariableToView('search_has_pic', $p_bPic); $this->_exportVariableToView('search_region', $regionName); $this->_exportVariableToView('search_city', $cityName); $this->_exportVariableToView('search_price_min', $p_sPriceMin); $this->_exportVariableToView('search_price_max', $p_sPriceMax); $this->_exportVariableToView('search_total_items', $iTotalItems); $this->_exportVariableToView('items', $aItems); $this->_exportVariableToView('search_show_as', $p_sShowAs); $this->_exportVariableToView('search', $this->mSearch); // json $json = $this->mSearch->toJson(); $this->_exportVariableToView('search_alert', base64_encode($json)); //calling the view... $this->doView('search.php'); } else { $this->mSearch->page(0, osc_num_rss_items()); // RETRIEVE ITEMS AND TOTAL $iTotalItems = $this->mSearch->count(); $aItems = $this->mSearch->doSearch(); $this->_exportVariableToView('items', $aItems); if ($p_sFeed == '' || $p_sFeed == 'rss') { // FEED REQUESTED! header('Content-type: text/xml; charset=utf-8'); $feed = new RSSFeed(); $feed->setTitle(__('Latest listings added') . ' - ' . osc_page_title()); $feed->setLink(osc_base_url()); $feed->setDescription(__('Latest listings added in') . ' ' . osc_page_title()); if (osc_count_items() > 0) { while (osc_has_items()) { if (osc_count_item_resources() > 0) { osc_has_item_resources(); $feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'dt_pub_date' => osc_item_pub_date(), 'image' => array('url' => htmlentities(osc_resource_thumbnail_url(), ENT_COMPAT, "UTF-8"), 'title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8")))); } else { $feed->addItem(array('title' => osc_item_title(), 'link' => htmlentities(osc_item_url(), ENT_COMPAT, "UTF-8"), 'description' => osc_item_description(), 'dt_pub_date' => osc_item_pub_date())); } } } osc_run_hook('feed', $feed); $feed->dumpXML(); } else { osc_run_hook('feed_' . $p_sFeed, $aItems); } } }
function votingmenu() { ?> <style> .ico-voting_plugin { background-image: url('<?php echo osc_base_url(); ?> oc-content/plugins/<?php echo osc_plugin_folder(__FILE__); ?> img/split.png') !important; background-position:0px -48px; } .ico-voting_plugin:hover, .current .ico-voting_plugin{ background-position:0px -0px; } body.compact .ico-voting_plugin{ background-position:-48px -48px; } body.compact .ico-voting_plugin:hover, body.compact .current .ico-voting_plugin{ background-position:-48px 0px; } </style> <?php }
public function add_comment() { if(!osc_comments_enabled()) { return 7; } $aItem = $this->prepareDataForFunction('add_comment'); $authorName = trim(strip_tags($aItem['authorName'])); $authorEmail = trim(strip_tags($aItem['authorEmail'])); $body = trim(strip_tags($aItem['body'])); $title = trim(strip_tags($aItem['title'])); $itemId = $aItem['id']; $userId = $aItem['userId']; $status_num = -1; $banned = osc_is_banned(trim(strip_tags($aItem['authorEmail']))); if($banned==1 || $banned==2) { Session::newInstance()->_setForm('commentAuthorName', $authorName); Session::newInstance()->_setForm('commentTitle', $title); Session::newInstance()->_setForm('commentBody', $body); Session::newInstance()->_setForm('commentAuthorEmail', $authorEmail); return 5; } $item = $this->manager->findByPrimaryKey($itemId); View::newInstance()->_exportVariableToView('item', $item); $itemURL = osc_item_url(); $itemURL = '<a href="'.$itemURL.'" >'.$itemURL.'</a>'; Params::setParam('itemURL', $itemURL); if(osc_reg_user_post_comments() && !osc_is_web_user_logged_in()) { Session::newInstance()->_setForm('commentAuthorName', $authorName); Session::newInstance()->_setForm('commentTitle', $title); Session::newInstance()->_setForm('commentBody', $body); return 6; } if( !preg_match('|^.*?@.{2,}\..{2,3}$|', $authorEmail)) { Session::newInstance()->_setForm('commentAuthorName', $authorName); Session::newInstance()->_setForm('commentTitle', $title); Session::newInstance()->_setForm('commentBody', $body); return 3; } if( ($body == '') ) { Session::newInstance()->_setForm('commentAuthorName', $authorName); Session::newInstance()->_setForm('commentAuthorEmail', $authorEmail); Session::newInstance()->_setForm('commentTitle', $title); return 4; } $num_moderate_comments = osc_moderate_comments(); if($userId==null) { $num_comments = 0; } else { $user = User::newInstance()->findByPrimaryKey($userId); $num_comments = $user['i_comments']; } if ($num_moderate_comments == -1 || ($num_moderate_comments != 0 && $num_comments >= $num_moderate_comments)) { $status = 'ACTIVE'; $status_num = 2; } else { $status = 'INACTIVE'; $status_num = 1; } if (osc_akismet_key()) { require_once LIB_PATH . 'Akismet.class.php'; $akismet = new Akismet(osc_base_url(), osc_akismet_key()); $akismet->setCommentAuthor($authorName); $akismet->setCommentAuthorEmail($authorEmail); $akismet->setCommentContent($body); $akismet->setPermalink($itemURL); $status = $akismet->isCommentSpam() ? 'SPAM' : $status; if($status == 'SPAM') { $status_num = 5; } } $mComments = ItemComment::newInstance(); $aComment = array('dt_pub_date' => date('Y-m-d H:i:s') ,'fk_i_item_id' => $itemId ,'s_author_name' => $authorName ,'s_author_email' => $authorEmail ,'s_title' => $title ,'s_body' => $body ,'b_active' => ($status=='ACTIVE' ? 1 : 0) ,'b_enabled' => 1 ,'fk_i_user_id' => $userId); osc_run_hook('before_add_comment', $aComment); if( $mComments->insert($aComment) ) { $commentID = $mComments->dao->insertedId(); if($status_num == 2 && $userId != null) { // COMMENT IS ACTIVE $user = User::newInstance()->findByPrimaryKey($userId); if( $user ) { User::newInstance()->update( array( 'i_comments' => $user['i_comments'] + 1) ,array( 'pk_i_id' => $user['pk_i_id'] ) ); } } //Notify admin if ( osc_notify_new_comment() ) { osc_run_hook('hook_email_new_comment_admin', $aItem); } //Notify user if ( osc_notify_new_comment_user() ) { osc_run_hook('hook_email_new_comment_user', $aItem); } osc_run_hook( 'add_comment', $commentID ); return $status_num; } return -1; }