function __construct() { $this->lang = Registry::get('Language'); $this->code = get_class($this); $this->group = basename(dirname(__FILE__)); $this->title = OSCOM::getDef('module_content_account_sage_pay_cards_title'); $this->description = OSCOM::getDef('module_content_account_sage_pay_cards_description'); if (defined('MODULE_CONTENT_ACCOUNT_SAGE_PAY_CARDS_STATUS')) { $this->sort_order = MODULE_CONTENT_ACCOUNT_SAGE_PAY_CARDS_SORT_ORDER; $this->enabled = MODULE_CONTENT_ACCOUNT_SAGE_PAY_CARDS_STATUS == 'True'; } $this->public_title = OSCOM::getDef('module_content_account_sage_pay_cards_link_title'); $sage_pay_enabled = false; if (defined('MODULE_PAYMENT_INSTALLED') && tep_not_null(MODULE_PAYMENT_INSTALLED) && in_array('sage_pay_direct.php', explode(';', MODULE_PAYMENT_INSTALLED))) { if (!class_exists('sage_pay_direct')) { $this->lang->loadDefinitions('modules/payment/sage_pay_direct'); include OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/payment/sage_pay_direct.php'; } $sage_pay_direct = new sage_pay_direct(); if ($sage_pay_direct->enabled) { $sage_pay_enabled = true; if (MODULE_PAYMENT_SAGE_PAY_DIRECT_TRANSACTION_SERVER == 'Test') { $this->title .= ' [Test]'; $this->public_title .= ' (' . $sage_pay_direct->code . '; Test)'; } } } if ($sage_pay_enabled !== true) { $this->enabled = false; $this->description = '<div class="secWarning">' . OSCOM::getDef('module_content_account_sage_pay_cards_error_main_module') . '</div>' . $this->description; } }
function __construct($module, $user_id = null, $user_name = null) { global $PHP_SELF; $this->lang = Registry::get('Language'); $module = HTML::sanitize(str_replace(' ', '', $module)); if (defined('MODULE_ACTION_RECORDER_INSTALLED') && tep_not_null(MODULE_ACTION_RECORDER_INSTALLED)) { if (tep_not_null($module) && in_array($module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1), explode(';', MODULE_ACTION_RECORDER_INSTALLED))) { if (!class_exists($module)) { if (is_file(OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/action_recorder/' . $module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1))) { $this->lang->loadDefinitions('Shop/modules/action_recorder/' . $module); include OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/action_recorder/' . $module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1); } else { return false; } } } else { return false; } } else { return false; } $this->_module = $module; if (!empty($user_id) && is_numeric($user_id)) { $this->_user_id = $user_id; } if (!empty($user_name)) { $this->_user_name = $user_name; } $GLOBALS[$this->_module] = new $module(); $GLOBALS[$this->_module]->setIdentifier(); }
public static function verify($plain, $hash) { $result = false; if (strlen($plain) > 0 && strlen($hash) > 0) { switch (static::getType($hash)) { case 'phpass': if (!class_exists('PasswordHash', false)) { include OSCOM::getConfig('dir_root', 'Shop') . 'includes/third_party/PasswordHash.php'; } $hasher = new \PasswordHash(10, true); $result = $hasher->CheckPassword($plain, $hash); break; case 'salt': // split apart the hash / salt $stack = explode(':', $hash, 2); if (count($stack) === 2) { $result = md5($stack[1] . $plain) == $stack[0]; } else { $result = false; } break; default: $result = password_verify($plain, $hash); break; } } return $result; }
function getMessage() { if (OSCOM::getConfig('store_sessions') == '') { if (!is_dir(session_save_path())) { return OSCOM::getDef('warning_session_directory_non_existent', ['session_path' => session_save_path()]); } elseif (!FileSystem::isWritable(session_save_path())) { return OSCOM::getDef('warning_session_directory_not_writeable', ['session_path' => session_save_path()]); } } }
function ht_table_click_jquery_edit_pages($values, $key) { global $PHP_SELF; $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.')); $files_array = array(); if ($dir = @dir(OSCOM::getConfig('dir_root', 'Shop'))) { while ($file = $dir->read()) { if (!is_dir(OSCOM::getConfig('dir_root', 'Shop') . $file)) { if (substr($file, strrpos($file, '.')) == $file_extension) { $files_array[] = $file; } } } sort($files_array); $dir->close(); } $values_array = explode(';', $values); $output = ''; foreach ($files_array as $file) { $output .= HTML::checkboxField('ht_table_click_jquery_file[]', $file, in_array($file, $values_array)) . ' ' . HTML::output($file) . '<br />'; } if (!empty($output)) { $output = '<br />' . substr($output, 0, -6); } $output .= HTML::hiddenField('configuration[' . $key . ']', '', 'id="htrn_files"'); $output .= '<script> function htrn_update_cfg_value() { var htrn_selected_files = \'\'; if ($(\'input[name="ht_table_click_jquery_file[]"]\').length > 0) { $(\'input[name="ht_table_click_jquery_file[]"]:checked\').each(function() { htrn_selected_files += $(this).attr(\'value\') + \';\'; }); if (htrn_selected_files.length > 0) { htrn_selected_files = htrn_selected_files.substring(0, htrn_selected_files.length - 1); } } $(\'#htrn_files\').val(htrn_selected_files); } $(function() { htrn_update_cfg_value(); if ($(\'input[name="ht_table_click_jquery_file[]"]\').length > 0) { $(\'input[name="ht_table_click_jquery_file[]"]\').change(function() { htrn_update_cfg_value(); }); } }); </script>'; return $output; }
public static function load($name = null) { $class_name = 'OSC\\OM\\Session\\' . OSCOM::getConfig('store_sessions'); if (!class_exists($class_name)) { trigger_error('Session Handler \'' . $class_name . '\' does not exist, using default \'OSC\\OM\\Session\\File\'', E_USER_NOTICE); $class_name = 'OSC\\OM\\Session\\File'; } elseif (!is_subclass_of($class_name, 'OSC\\OM\\SessionAbstract')) { trigger_error('Session Handler \'' . $class_name . '\' does not extend OSC\\OM\\SessionAbstract, using default \'OSC\\OM\\Session\\File\'', E_USER_NOTICE); $class_name = 'OSC\\OM\\Session\\File'; } $obj = new $class_name(); if (!isset($name)) { $name = 'oscomid'; } $obj->setName($name); return $obj; }
public function execute($parameters) { if (SESSION_BLOCK_SPIDERS == 'True') { $user_agent = ''; if (isset($_SERVER['HTTP_USER_AGENT'])) { $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); } if (!empty($user_agent)) { foreach (file(OSCOM::getConfig('dir_root') . 'includes/spiders.txt') as $spider) { if (!empty($spider)) { if (strpos($user_agent, $spider) !== false) { $parameters['can_start'] = false; break; } } } } } }
/** * Verify an existing session ID and create or resume the session if the existing session ID is valid * * @return boolean */ public function start() { $OSCOM_Cookies = Registry::get('Cookies'); // this class handles session.use_strict_mode already if ((int) ini_get('session.use_strict_mode') === 1) { ini_set('session.use_strict_mode', 0); } if (parse_url(OSCOM::getConfig('http_server'), PHP_URL_SCHEME) == 'https') { if ((int) ini_get('session.cookie_secure') === 0) { ini_set('session.cookie_secure', 1); } } if ((int) ini_get('session.cookie_httponly') === 0) { ini_set('session.cookie_httponly', 1); } if ((int) ini_get('session.use_only_cookies') !== 1) { ini_set('session.use_only_cookies', 1); } $session_can_start = true; Registry::get('Hooks')->call('Session', 'StartBefore', ['can_start' => &$session_can_start]); session_set_cookie_params(0, $OSCOM_Cookies->getPath(), $OSCOM_Cookies->getDomain(), (bool) ini_get('session.cookie_secure'), (bool) ini_get('session.cookie_httponly')); if (isset($_GET[$this->name]) && ($this->force_cookies || !(bool) preg_match('/^[a-zA-Z0-9,-]+$/', $_GET[$this->name]) || !$this->exists($_GET[$this->name]))) { unset($_GET[$this->name]); } if (isset($_POST[$this->name]) && ($this->force_cookies || !(bool) preg_match('/^[a-zA-Z0-9,-]+$/', $_POST[$this->name]) || !$this->exists($_POST[$this->name]))) { unset($_POST[$this->name]); } if (isset($_COOKIE[$this->name]) && (!(bool) preg_match('/^[a-zA-Z0-9,-]+$/', $_COOKIE[$this->name]) || !$this->exists($_COOKIE[$this->name]))) { $OSCOM_Cookies->del($this->name, $OSCOM_Cookies->getPath(), $OSCOM_Cookies->getDomain(), (bool) ini_get('session.cookie_secure'), (bool) ini_get('session.cookie_httponly')); } if ($this->force_cookies === false) { if (isset($_GET[$this->name]) && (!isset($_COOKIE[$this->name]) || $_COOKIE[$this->name] != $_GET[$this->name])) { session_id($_GET[$this->name]); } elseif (isset($_POST[$this->name]) && (!isset($_COOKIE[$this->name]) || $_COOKIE[$this->name] != $_POST[$this->name])) { session_id($_POST[$this->name]); } } if ($session_can_start === true && session_start()) { Registry::get('Hooks')->call('Session', 'StartAfter'); return true; } return false; }
function cfg_modules() { global $PHP_SELF; $this->lang = Registry::get('Language'); $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.')); $directory = OSCOM::getConfig('dir_root') . 'includes/modules/cfg_modules'; if ($dir = @dir($directory)) { while ($file = $dir->read()) { if (!is_dir($directory . $file)) { if (substr($file, strrpos($file, '.')) == $file_extension) { $class = substr($file, 0, strrpos($file, '.')); $this->lang->loadDefinitions('modules/cfg_modules/' . pathinfo($file, PATHINFO_FILENAME)); include OSCOM::getConfig('dir_root') . 'includes/modules/cfg_modules/' . $class . '.php'; $m = new $class(); $this->_modules[] = array('code' => $m->code, 'directory' => $m->directory, 'language_directory' => $m->language_directory, 'key' => $m->key, 'title' => $m->title, 'template_integration' => $m->template_integration, 'site' => $m->site); } } } } }
function getOutput() { global $PHP_SELF; $OSCOM_MessageStack = Registry::get('MessageStack'); $secCheck_types = array('info', 'warning', 'error'); $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.')); $secmodules_array = array(); if ($secdir = @dir(OSCOM::getConfig('dir_root') . 'includes/modules/security_check/')) { while ($file = $secdir->read()) { if (!is_dir(OSCOM::getConfig('dir_root') . 'includes/modules/security_check/' . $file)) { if (substr($file, strrpos($file, '.')) == $file_extension) { $secmodules_array[] = $file; } } } sort($secmodules_array); $secdir->close(); } foreach ($secmodules_array as $secmodule) { include OSCOM::getConfig('dir_root') . 'includes/modules/security_check/' . $secmodule; $secclass = 'securityCheck_' . substr($secmodule, 0, strrpos($secmodule, '.')); if (class_exists($secclass)) { $secCheck = new $secclass(); if (!$secCheck->pass()) { if (!in_array($secCheck->type, $secCheck_types)) { $secCheck->type = 'info'; } $OSCOM_MessageStack->add($secCheck->getMessage(), $secCheck->type, 'securityCheckModule'); } } } if (!$OSCOM_MessageStack->exists('securityCheckModule')) { $OSCOM_MessageStack->add(OSCOM::getDef('module_admin_dashboard_security_checks_success'), 'success', 'securityCheckModule'); } $output = $OSCOM_MessageStack->get('securityCheckModule'); return $output; }
protected function register($group, $hook, $action) { $group = basename($group); $this->hooks[$this->site][$group][$hook][$action] = []; $directory = OSCOM::getConfig('dir_root', 'Shop') . 'includes/Module/Hooks/' . $this->site . '/' . $group; if (is_dir($directory)) { if ($dir = new \DirectoryIterator($directory)) { foreach ($dir as $file) { if (!$file->isDot() && !$file->isDir() && $file->getExtension() == 'php' && $file->getBasename('.php') == $hook) { $class = 'OSC\\OM\\Module\\Hooks\\' . $this->site . '\\' . $group . '\\' . $hook; if (method_exists($class, $action)) { $this->hooks[$this->site][$group][$hook][$action][] = $class; } } } } } $filter = ['site' => $this->site, 'group' => $group, 'hook' => $hook]; foreach (Apps::getModules('Hooks', null, $filter) as $k => $class) { if (method_exists($class, $action)) { $this->hooks[$this->site][$group][$hook][$action][] = $k; } } }
public function loadDefinitions($group, $language_code = null, $scope = null) { $language_code = isset($language_code) && $this->exists($language_code) ? $language_code : $this->get('code'); if (!isset($scope)) { $scope = 'global'; } $site = OSCOM::getSite(); if (strpos($group, '/') !== false && preg_match('/^([A-Z][A-Za-z0-9-_]*)\\/(.*)$/', $group, $matches) === 1 && OSCOM::siteExists($matches[1])) { $site = $matches[1]; $group = $matches[2]; } $pathname = OSCOM::getConfig('dir_root', $site) . 'includes/languages/' . $this->get('directory', $language_code) . '/' . $group; // legacy if (is_file($pathname . '.php')) { include $pathname . '.php'; return true; } $pathname .= '.txt'; if ($language_code != 'en') { call_user_func([$this, __FUNCTION__], $group, 'en', $scope); } $defs = $this->getDefinitions($group, $language_code, $pathname); $this->injectDefinitions($defs, $scope); }
/** * @param array $parameters url, headers, parameters, method, verify_ssl, cafile, certificate, proxy */ public static function getResponse(array $parameters) { $parameters['server'] = parse_url($parameters['url']); if (!isset($parameters['server']['port'])) { $parameters['server']['port'] = $parameters['server']['scheme'] == 'https' ? 443 : 80; } if (!isset($parameters['server']['path'])) { $parameters['server']['path'] = '/'; } if (isset($parameters['server']['user']) && isset($parameters['server']['pass'])) { $parameters['headers'][] = 'Authorization: Basic ' . base64_encode($parameters['server']['user'] . ':' . $parameters['server']['pass']); } unset($parameters['url']); if (!isset($parameters['headers']) || !is_array($parameters['headers'])) { $parameters['headers'] = []; } if (!isset($parameters['method'])) { if (isset($parameters['parameters'])) { $parameters['method'] = 'post'; } else { $parameters['method'] = 'get'; } } $curl = curl_init($parameters['server']['scheme'] . '://' . $parameters['server']['host'] . $parameters['server']['path'] . (isset($parameters['server']['query']) ? '?' . $parameters['server']['query'] : '')); $curl_options = [CURLOPT_PORT => $parameters['server']['port'], CURLOPT_HEADER => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_FORBID_REUSE => true, CURLOPT_FRESH_CONNECT => true, CURLOPT_ENCODING => '', CURLOPT_FOLLOWLOCATION => false]; if (!empty($parameters['headers'])) { $curl_options[CURLOPT_HTTPHEADER] = $parameters['headers']; } if ($parameters['server']['scheme'] == 'https') { $verify_ssl = defined('OSCOM_HTTP_VERIFY_SSL') && OSCOM_HTTP_VERIFY_SSL === 'True' ? true : false; if (isset($parameters['verify_ssl']) && is_bool($parameters['verify_ssl'])) { $verify_ssl = $parameters['verify_ssl']; } if ($verify_ssl === true) { $curl_options[CURLOPT_SSL_VERIFYPEER] = true; $curl_options[CURLOPT_SSL_VERIFYHOST] = 2; } else { $curl_options[CURLOPT_SSL_VERIFYPEER] = false; $curl_options[CURLOPT_SSL_VERIFYHOST] = false; } if (!isset($parameters['cafile'])) { $parameters['cafile'] = OSCOM::getConfig('dir_root', 'Shop') . 'includes/cacert.pem'; } if (is_file($parameters['cafile'])) { $curl_options[CURLOPT_CAINFO] = $parameters['cafile']; } if (isset($parameters['certificate'])) { $curl_options[CURLOPT_SSLCERT] = $parameters['certificate']; } } if ($parameters['method'] == 'post') { if (!isset($parameters['parameters'])) { $parameters['parameters'] = ''; } $curl_options[CURLOPT_POST] = true; $curl_options[CURLOPT_POSTFIELDS] = $parameters['parameters']; } $proxy = defined('OSCOM_HTTP_PROXY') ? OSCOM_HTTP_PROXY : ''; if (isset($parameters['proxy'])) { $proxy = $parameters['proxy']; } if (!empty($proxy)) { $curl_options[CURLOPT_HTTPPROXYTUNNEL] = true; $curl_options[CURLOPT_PROXY] = $proxy; } curl_setopt_array($curl, $curl_options); $result = curl_exec($curl); if ($result === false) { trigger_error(curl_error($curl)); curl_close($curl); return false; } $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); $headers = trim(substr($result, 0, $header_size)); $body = substr($result, $header_size); curl_close($curl); if ($http_code == 301 || $http_code == 302) { if (!isset($parameters['redir_counter']) || $parameters['redir_counter'] < 6) { if (!isset($parameters['redir_counter'])) { $parameters['redir_counter'] = 0; } $matches = []; preg_match('/(Location:|URI:)(.*?)\\n/i', $headers, $matches); $redir_url = trim(array_pop($matches)); $parameters['redir_counter']++; $redir_params = ['url' => $redir_url, 'method' => $parameters['method'], 'redir_counter', $parameters['redir_counter']]; $body = static::getResponse($redir_params); } } return $body; }
<?php /** * osCommerce Online Merchant * * @copyright (c) 2016 osCommerce; https://www.oscommerce.com * @license MIT; https://www.oscommerce.com/license/mit.txt */ use OSC\OM\HTML; use OSC\OM\OSCOM; require 'includes/application_top.php'; if (OSCOM::hasSitePage()) { if (OSCOM::isRPC() === false) { $page_file = OSCOM::getSitePageFile(); if (empty($page_file) || !is_file($page_file)) { $page_file = OSCOM::getConfig('dir_root') . 'includes/error_documents/404.php'; } if (OSCOM::useSiteTemplateWithPageFile()) { include $oscTemplate->getFile('template_top.php'); } include $page_file; if (OSCOM::useSiteTemplateWithPageFile()) { include $oscTemplate->getFile('template_bottom.php'); } } goto main_sub3; } // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && tep_not_null($cPath)) { $Qcheck = $OSCOM_Db->prepare('select products_id from :table_products_to_categories where categories_id = :categories_id limit 1');
?> </div> <?php echo HTML::inputField('banners_image_local', isset($bInfo->banners_image) ? $bInfo->banners_image : ''); ?> </div> </div> <div class="form-group"> <label for="banners_image_target"><?php echo OSCOM::getDef('text_banners_image_target'); ?> </label> <div class="input-group"> <div class="input-group-addon"><?php echo OSCOM::getConfig('dir_root', 'Shop') . 'images/'; ?> </div> <?php echo HTML::inputField('banners_image_target'); ?> </div> </div> <div class="form-group"> <label for="banners_html_text"><?php echo OSCOM::getDef('text_banners_html_text'); ?> </label> <?php echo HTML::textareaField('banners_html_text', '60', '5', $bInfo->banners_html_text);
function __construct() { $this->directory = OSCOM::getConfig('dir_root', $this->site) . 'includes/modules/header_tags/'; $this->language_directory = OSCOM::getConfig('dir_root', $this->site) . 'includes/languages/'; $this->title = OSCOM::getDef('module_cfg_module_header_tags_title'); }
function getMessage() { return OSCOM::getDef('warning_download_directory_non_existent', ['download_path' => OSCOM::getConfig('dir_root', 'Shop') . 'download/']); }
<?php /** * osCommerce Online Merchant * * @copyright (c) 2016 osCommerce; https://www.oscommerce.com * @license MIT; https://www.oscommerce.com/license/mit.txt */ use OSC\OM\Apps; use OSC\OM\OSCOM; require 'includes/application_top.php'; $hooks = []; $directory = OSCOM::getConfig('dir_root', 'Shop') . 'includes/Module/Hooks/'; if (is_dir($directory)) { if ($dir = new \DirectoryIterator($directory)) { foreach ($dir as $file) { if (!$file->isDot() && $file->isDir()) { $site = $file->getBasename(); if ($sitedir = new \DirectoryIterator($directory . $site)) { foreach ($sitedir as $groupfile) { if (!$groupfile->isDot() && $groupfile->isDir()) { $group = $groupfile->getBasename(); if ($groupdir = new \DirectoryIterator($directory . $site . '/' . $group)) { foreach ($groupdir as $hookfile) { if (!$hookfile->isDot() && !$hookfile->isDir() && $hookfile->getExtension() == 'php') { $hook = $hookfile->getBasename('.php'); $class = 'OSC\\OM\\Module\\Hooks\\' . $site . '\\' . $group . '\\' . $hook; $h = new \ReflectionClass($class); foreach ($h->getMethods(\ReflectionMethod::IS_STATIC | \ReflectionMethod::IS_PUBLIC) as $method) { if ($method->name != '__construct') { $hooks[$site . '/' . $group . '\\' . $hook][] = ['method' => $method->name];
} else { $cPath = ''; } if (tep_not_null($cPath)) { $cPath_array = tep_parse_category_path($cPath); $cPath = implode('_', $cPath_array); $current_category_id = $cPath_array[sizeof($cPath_array) - 1]; } else { $cPath_array = []; $current_category_id = 0; } $admin_menu = []; $cl_box_groups = array(); $cl_apps_groups = array(); if (isset($_SESSION['admin'])) { if ($dir = @dir(OSCOM::getConfig('dir_root') . 'includes/boxes')) { $files = array(); while ($file = $dir->read()) { if (!is_dir($dir->path . '/' . $file)) { if (substr($file, strrpos($file, '.')) == '.php') { $files[] = $file; } } } $dir->close(); natcasesort($files); foreach ($files as $file) { if ($OSCOM_Language->definitionsExist('modules/boxes/' . pathinfo($file, PATHINFO_FILENAME))) { $OSCOM_Language->loadDefinitions('modules/boxes/' . pathinfo($file, PATHINFO_FILENAME)); } include $dir->path . '/' . $file;
protected function autoPrefixTables($statement) { $prefix = ''; if (isset($this->table_prefix)) { $prefix = $this->table_prefix; } elseif (OSCOM::configExists('db_table_prefix')) { $prefix = OSCOM::getConfig('db_table_prefix'); } $statement = str_replace(':table_', $prefix, $statement); return $statement; }
function sendTransactionToGateway($url, $parameters) { $server = parse_url($url); if (isset($server['port']) === false) { $server['port'] = $server['scheme'] == 'https' ? 443 : 80; } if (isset($server['path']) === false) { $server['path'] = '/'; } $curl = curl_init($server['scheme'] . '://' . $server['host'] . $server['path'] . (isset($server['query']) ? '?' . $server['query'] : '')); curl_setopt($curl, CURLOPT_PORT, $server['port']); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FORBID_REUSE, true); curl_setopt($curl, CURLOPT_FRESH_CONNECT, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $parameters); if (MODULE_PAYMENT_SAGE_PAY_SERVER_VERIFY_SSL == 'True') { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); if (is_file(OSCOM::getConfig('dir_root', 'Shop') . 'ext/modules/payment/sage_pay/sagepay.com.crt')) { curl_setopt($curl, CURLOPT_CAINFO, OSCOM::getConfig('dir_root', 'Shop') . 'ext/modules/payment/sage_pay/sagepay.com.crt'); } elseif (is_file(OSCOM::getConfig('dir_root', 'Shop') . 'includes/cacert.pem')) { curl_setopt($curl, CURLOPT_CAINFO, OSCOM::getConfig('dir_root', 'Shop') . 'includes/cacert.pem'); } } else { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); } if (tep_not_null(MODULE_PAYMENT_SAGE_PAY_SERVER_PROXY)) { curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, true); curl_setopt($curl, CURLOPT_PROXY, MODULE_PAYMENT_SAGE_PAY_SERVER_PROXY); } $result = curl_exec($curl); curl_close($curl); return $result; }
function getMessage() { return OSCOM::getDef('module_security_check_extended_admin_backup_directory_listing_http_200', ['backups_url' => OSCOM::link('includes/backups/'), 'backups_path' => OSCOM::getConfig('http_path', 'Admin') . 'includes/backups/']); }
function bm_card_acceptance_edit_logos($values, $key) { $files_array = array(); if ($dir = @dir(OSCOM::getConfig('dir_root', 'Shop') . 'images/card_acceptance')) { while ($file = $dir->read()) { if (!is_dir(OSCOM::getConfig('dir_root', 'Shop') . 'images/card_acceptance/' . $file)) { if (in_array(substr($file, strrpos($file, '.') + 1), array('gif', 'jpg', 'png'))) { $files_array[] = $file; } } } sort($files_array); $dir->close(); } $values_array = !empty($values) ? explode(';', $values) : array(); $output = '<h3>' . OSCOM::getDef('module_boxes_card_acceptance_shown_cards') . '</h3>' . '<ul id="ca_logos" style="list-style-type: none; margin: 0; padding: 5px; margin-bottom: 10px;">'; foreach ($values_array as $file) { $output .= '<li style="padding: 2px;">' . HTML::image(OSCOM::linkImage('Shop/card_acceptance/' . $file), $file) . HTML::hiddenField('bm_card_acceptance_logos[]', $file) . '</li>'; } $output .= '</ul>'; $output .= '<h3>' . OSCOM::getDef('module_boxes_card_acceptance_new_cards') . '</h3><ul id="new_ca_logos" style="list-style-type: none; margin: 0; padding: 5px; margin-bottom: 10px;">'; foreach ($files_array as $file) { if (!in_array($file, $values_array)) { $output .= '<li style="padding: 2px;">' . HTML::image(OSCOM::linkImage('Shop/card_acceptance/' . $file), $file) . HTML::hiddenField('bm_card_acceptance_logos[]', $file) . '</li>'; } } $output .= '</ul>'; $output .= HTML::hiddenField('configuration[' . $key . ']', '', 'id="ca_logo_cards"'); $drag_here_li = '<li id="caLogoEmpty" style="background-color: #fcf8e3; border: 1px #faedd0 solid; color: #a67d57; padding: 5px;">' . addslashes(OSCOM::getDef('module_boxes_card_acceptance_drag_here')) . '</li>'; $output .= <<<EOD <script> \$(function() { var drag_here_li = '{$drag_here_li}'; if ( \$('#ca_logos li').length < 1 ) { \$('#ca_logos').append(drag_here_li); } \$('#ca_logos').sortable({ connectWith: '#new_ca_logos', items: 'li:not("#caLogoEmpty")', stop: function (event, ui) { if ( \$('#ca_logos li').length < 1 ) { \$('#ca_logos').append(drag_here_li); } else if ( \$('#caLogoEmpty').length > 0 ) { \$('#caLogoEmpty').remove(); } } }); \$('#new_ca_logos').sortable({ connectWith: '#ca_logos', stop: function (event, ui) { if ( \$('#ca_logos li').length < 1 ) { \$('#ca_logos').append(drag_here_li); } else if ( \$('#caLogoEmpty').length > 0 ) { \$('#caLogoEmpty').remove(); } } }); \$('#ca_logos, #new_ca_logos').disableSelection(); \$('form[name="modules"]').submit(function(event) { var ca_selected_cards = ''; if ( \$('#ca_logos li').length > 0 ) { \$('#ca_logos li input[name="bm_card_acceptance_logos[]"]').each(function() { ca_selected_cards += \$(this).attr('value') + ';'; }); } if (ca_selected_cards.length > 0) { ca_selected_cards = ca_selected_cards.substring(0, ca_selected_cards.length - 1); } \$('#ca_logo_cards').val(ca_selected_cards); }); }); </script> EOD; return $output; }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <?php echo OSCOM::getDef('html_params'); ?> > <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo OSCOM::getDef('charset'); ?> "> <title><?php echo MODULE_PAYMENT_SAGE_PAY_DIRECT_3DAUTH_TITLE; ?> </title> <base href="<?php echo OSCOM::getConfig('http_server', 'Shop') . OSCOM::getConfig('http_path', 'Shop'); ?> "> </head> <body> <FORM name="form" action="<?php echo $_SESSION['sage_pay_direct_acsurl']; ?> " method="POST"> <input type="hidden" name="PaReq" value="<?php echo $_SESSION['sage_pay_direct_pareq']; ?> " /> <input type="hidden" name="TermUrl" value="<?php echo OSCOM::link('ext/modules/payment/sage_pay/redirect.php'); ?>
$OSCOM_MessageStack->add(OSCOM::getDef('error_remove_default_language'), 'error'); } break; } } $icons = []; foreach (glob(OSCOM::getConfig('dir_root', 'Shop') . 'public/third_party/flag-icon-css/flags/4x3/*.svg') as $file) { $code = basename($file, '.svg'); $icons[] = ['id' => $code, 'text' => $code]; } $directories = []; foreach (glob(OSCOM::getConfig('dir_root', 'Shop') . 'includes/languages/*', GLOB_ONLYDIR) as $dir) { $code = basename($dir); $directories[] = ['id' => $code, 'text' => $code]; } foreach (glob(OSCOM::getConfig('dir_root', 'Admin') . 'includes/languages/*', GLOB_ONLYDIR) as $dir) { $code = basename($dir); if (array_search($code, array_column($directories, 'id')) === false) { $directories[] = ['id' => $code, 'text' => $code]; } } uasort($directories, function ($a, $b) { if ($a['id'] == $b['id']) { return 0; } return $a['id'] < $b['id'] ? -1 : 1; }); require $oscTemplate->getFile('template_top.php'); ?> <table border="0" width="100%" cellspacing="0" cellpadding="2">
function getMessage() { return OSCOM::getDef('warning_config_file_writeable', ['configure_file_path' => OSCOM::getConfig('dir_root', 'Shop') . 'includes/configure.php']); }
if (substr($file, strrpos($file, '.')) == '.php') { $class = 'securityCheck_' . substr($file, 0, strrpos($file, '.')); include OSCOM::getConfig('dir_root') . 'includes/modules/security_check/' . $file; ${$class} = new $class(); $modules[] = array('title' => isset(${$class}->title) ? ${$class}->title : substr($file, 0, strrpos($file, '.')), 'class' => $class, 'code' => substr($file, 0, strrpos($file, '.'))); } } } $secdir->close(); } if ($extdir = @dir(OSCOM::getConfig('dir_root') . 'includes/modules/security_check/extended/')) { while ($file = $extdir->read()) { if (!is_dir(OSCOM::getConfig('dir_root') . 'includes/modules/security_check/extended/' . $file)) { if (substr($file, strrpos($file, '.')) == '.php') { $class = 'securityCheckExtended_' . substr($file, 0, strrpos($file, '.')); include OSCOM::getConfig('dir_root') . 'includes/modules/security_check/extended/' . $file; ${$class} = new $class(); $modules[] = array('title' => isset(${$class}->title) ? ${$class}->title : substr($file, 0, strrpos($file, '.')), 'class' => $class, 'code' => substr($file, 0, strrpos($file, '.'))); } } } $extdir->close(); } usort($modules, 'tep_sort_secmodules'); require $oscTemplate->getFile('template_top.php'); ?> <div style="float: right;"><?php echo HTML::button('Reload', 'fa fa-refresh', OSCOM::link('security_checks.php')); ?> </div>
switch (substr($file, -3)) { case 'zip': $info['compression'] = 'ZIP'; break; case '.gz': $info['compression'] = 'GZIP'; break; default: $info['compression'] = OSCOM::getDef('text_no_extension'); break; } $buInfo = new objectInfo($info); switch ($action) { case 'restore': $heading[] = array('text' => $buInfo->date); $contents[] = array('text' => tep_break_string(OSCOM::getDef('text_info_restore', ['db_server' => OSCOM::getConfig('db_server'), 'db_user' => OSCOM::getConfig('db_server_username'), 'db_database' => OSCOM::getConfig('db_database'), 'backup_file' => $backup_directory . ($buInfo->compression != OSCOM::getDef('text_no_extension') ? substr($buInfo->file, 0, strrpos($buInfo->file, '.')) : $buInfo->file), 'extra_info' => $buInfo->compression != OSCOM::getDef('text_no_extension') ? OSCOM::getDef('text_info_unpack') : '']), 35, ' ')); $contents[] = array('text' => HTML::button(OSCOM::getDef('image_restore'), 'fa fa-repeat', OSCOM::link(FILENAME_BACKUP, 'file=' . $buInfo->file . '&action=restorenow'), null, 'btn-success') . HTML::button(OSCOM::getDef('image_cancel'), null, OSCOM::link(FILENAME_BACKUP), null, 'btn-link')); break; case 'delete': $heading[] = array('text' => $buInfo->date); $contents = array('form' => HTML::form('delete', OSCOM::link(FILENAME_BACKUP, 'file=' . $buInfo->file . '&action=deleteconfirm'))); $contents[] = array('text' => OSCOM::getDef('text_delete_intro')); $contents[] = array('text' => '<strong>' . $buInfo->file . '</strong>'); $contents[] = array('text' => HTML::button(OSCOM::getDef('image_delete'), 'fa fa-trash', null, null, 'btn-danger') . HTML::button(OSCOM::getDef('image_cancel'), null, OSCOM::link(FILENAME_BACKUP), null, 'btn-link')); break; } } } else { switch ($action) { case 'backup': $heading[] = array('text' => OSCOM::getDef('text_info_heading_new_backup'));
echo HTML::image(OSCOM::linkImage('icon_arrow_right.gif')); } else { echo '<a href="' . OSCOM::link('modules_content.php', 'module=' . $module->code) . '">' . HTML::image(OSCOM::linkImage('icon_info.gif'), OSCOM::getDef('image_icon_info')) . '</a>'; } ?> </td> </tr> <?php } ?> </table> <?php } ?> <p class="smallText"><?php echo OSCOM::getDef('text_module_directory') . ' ' . OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/content/'; ?> </p> </td> <?php $heading = array(); $contents = array(); switch ($action) { case 'edit': $keys = ''; foreach ($mInfo->keys as $key => $value) { $keys .= '<strong>' . $value['title'] . '</strong><br />' . $value['description'] . '<br />'; if ($value['set_function']) { eval('$keys .= ' . $value['set_function'] . "'" . $value['value'] . "', '" . $key . "');"); } else { $keys .= HTML::inputField('configuration[' . $key . ']', $value['value']);
<div class="contentText"> <table border="0" width="100%" cellspacing="1" cellpadding="2"> <?php do { // MySQL 3.22 does not have INTERVAL list($dt_year, $dt_month, $dt_day) = explode('-', $Qdownloads->value('date_purchased_day')); $download_timestamp = mktime(23, 59, 59, $dt_month, $dt_day + $Qdownloads->valueInt('download_maxdays'), $dt_year); $download_expiry = date('Y-m-d H:i:s', $download_timestamp); echo ' <tr>' . "\n"; // The link will appear only if: // - Download remaining count is > 0, AND // - The file is present in the DOWNLOAD directory, AND EITHER // - No expiry date is enforced (maxdays == 0), OR // - The expiry date is not reached if ($Qdownloads->valueInt('download_count') > 0 && is_file(OSCOM::getConfig('dir_root', 'Shop') . 'download/' . $Qdownloads->value('orders_products_filename')) && ($Qdownloads->valueInt('download_maxdays') == 0 || $download_timestamp > time())) { echo ' <td><a href="' . OSCOM::link('download.php', 'order=' . $last_order . '&id=' . $Qdownloads->valueInt('orders_products_download_id')) . '">' . $Qdownloads->value('products_name') . '</a></td>' . "\n"; } else { echo ' <td>' . $Qdownloads->value('products_name') . '</td>' . "\n"; } echo ' <td>' . TABLE_HEADING_DOWNLOAD_DATE . DateTime::toLong($download_expiry) . '</td>' . "\n" . ' <td align="right">' . $Qdownloads->valueInt('download_count') . TABLE_HEADING_DOWNLOAD_COUNT . '</td>' . "\n" . ' </tr>' . "\n"; } while ($Qdownloads->fetch()); ?> </table> <?php if (!strstr($PHP_SELF, 'account_history_info.php')) { ?> <p><?php