Jump to content

bikyline

Members
  • Posts

    80
  • Joined

  • Last visited

Profile Information

  • Activity
    Agency

Recent Profile Visitors

1,507,787 profile views

bikyline's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Hab ich aber trotzdem das problem und bei der neuen version das gleiche problem
  2. sorry hilft nicht weiter. werde mich langsam nach andere shopprogramme umsehen.
  3. <?php /** * 2007-2017 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2017 PrestaShop SA * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ use PrestaShop\PrestaShop\Core\Addon\Module\ModuleManagerBuilder; class AdminDashboardControllerCore extends AdminController { public function __construct() { $this->bootstrap = true; $this->display = 'view'; parent::__construct(); if (Tools::isSubmit('profitability_conf') || Tools::isSubmit('submitOptionsconfiguration')) { $this->fields_options = $this->getOptionFields(); } } public function setMedia() { parent::setMedia(); $this->addJqueryUI('ui.datepicker'); $this->addJS(array( _PS_JS_DIR_.'vendor/d3.v3.min.js', __PS_BASE_URI__.$this->admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/nv.d3.min.js', _PS_JS_DIR_.'/admin/dashboard.js', )); $this->addCSS(__PS_BASE_URI__.$this->admin_webpath.'/themes/'.$this->bo_theme.'/css/vendor/nv.d3.css'); } public function initPageHeaderToolbar() { $this->page_header_toolbar_title = $this->trans('Dashboard', array(), 'Admin.Dashboard.Feature'); $this->page_header_toolbar_btn['switch_demo'] = array( 'desc' => $this->trans('Demo mode', array(), 'Admin.Dashboard.Feature'), 'icon' => 'process-icon-toggle-'.(Configuration::get('PS_DASHBOARD_SIMULATION') ? 'on' : 'off'), 'help' => $this->trans('This mode displays sample data so you can try your dashboard without real numbers.', array(), 'Admin.Dashboard.Help') ); parent::initPageHeaderToolbar(); // Remove the last element on this controller to match the title with the rule of the others array_pop($this->meta_title); } protected function getOptionFields() { $forms = array(); $currency = new Currency(Configuration::get('PS_CURRENCY_DEFAULT')); $carriers = Carrier::getCarriers((int) $this->context->language->id, true, false, false, null, Carrier::ALL_CARRIERS); $modules = Module::getModulesOnDisk(true); $forms = array( 'payment' => array('title' => $this->trans('Average bank fees per payment method', array(), 'Admin.Dashboard.Feature'), 'id' => 'payment'), 'carriers' => array('title' => $this->trans('Average shipping fees per shipping method', array(), 'Admin.Dashboard.Feature'), 'id' => 'carriers'), 'other' => array('title' => $this->trans('Other settings', array(), 'Admin.Dashboard.Feature'), 'id' => 'other') ); foreach ($forms as &$form) { $form['icon'] = 'tab-preferences'; $form['fields'] = array(); $form['submit'] = array('title' => $this->trans('Save', array(), 'Admin.Actions')); } foreach ($modules as $module) { if (isset($module->tab) && $module->tab == 'payments_gateways' && $module->id) { $moduleClass = Module::getInstanceByName($module->name); if (!$moduleClass->isEnabledForShopContext()) { continue; } $forms['payment']['fields']['CONF_'.strtoupper($module->name).'_FIXED'] = array( 'title' => $module->displayName, 'desc' => $this->trans( 'Choose a fixed fee for each order placed in %currency% with %module%.', array( '%currency' => $currency->iso_code, '%module%' => $module->displayName, ), 'Admin.Dashboard.Help' ), 'validation' => 'isPrice', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => $currency->iso_code ); $forms['payment']['fields']['CONF_'.strtoupper($module->name).'_VAR'] = array( 'title' => $module->displayName, 'desc' => $this->trans( 'Choose a variable fee for each order placed in %currency% with %module%. It will be applied on the total paid with taxes.', array( '%currency' => $currency->iso_code, '%module%' => $module->displayName, ), 'Admin.Dashboard.Help' ), 'validation' => 'isPercentage', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => '%' ); if (Currency::isMultiCurrencyActivated()) { $forms['payment']['fields']['CONF_'.strtoupper($module->name).'_FIXED_FOREIGN'] = array( 'title' => $module->displayName, 'desc' => $this->trans( 'Choose a fixed fee for each order placed with a foreign currency with %module%.', array( '%module%' => $module->displayName ), 'Admin.Dashboard.Help'), 'validation' => 'isPrice', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => $currency->iso_code ); $forms['payment']['fields']['CONF_'.strtoupper($module->name).'_VAR_FOREIGN'] = array( 'title' => $module->displayName, 'desc' => $this->trans( 'Choose a variable fee for each order placed with a foreign currency with %module%. It will be applied on the total paid with taxes.', array('%module%' => $module->displayName), 'Admin.Dashboard.Help' ), 'validation' => 'isPercentage', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => '%' ); } } } foreach ($carriers as $carrier) { $forms['carriers']['fields']['CONF_'.strtoupper($carrier['id_reference']).'_SHIP'] = array( 'title' => $carrier['name'], 'desc' => $this->trans( 'For the carrier named %s, indicate the domestic delivery costs in percentage of the price charged to customers.', array( '%s' => $carrier['name'], ), 'Admin.Dashboard.Help' ), 'validation' => 'isPercentage', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => '%' ); $forms['carriers']['fields']['CONF_'.strtoupper($carrier['id_reference']).'_SHIP_OVERSEAS'] = array( 'title' => $carrier['name'], 'desc' => $this->trans( 'For the carrier named %s, indicate the overseas delivery costs in percentage of the price charged to customers.', array( '%s' => $carrier['name'], ), 'Admin.Dashboard.Help' ), 'validation' => 'isPercentage', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => '%' ); } $forms['carriers']['description'] = $this->trans('Method: Indicate the percentage of your carrier margin. For example, if you charge $10 of shipping fees to your customer for each shipment, but you really pay $4 to this carrier, then you should indicate "40" in the percentage field.', array(), 'Admin.Dashboard.Help'); $forms['other']['fields']['CONF_AVERAGE_PRODUCT_MARGIN'] = array( 'title' => $this->trans('Average gross margin percentage', array(), 'Admin.Dashboard.Feature'), 'desc' => $this->trans('You should calculate this percentage as follows: ((total sales revenue) - (cost of goods sold)) / (total sales revenue) * 100. This value is only used to calculate the Dashboard approximate gross margin, if you do not specify the wholesale price for each product.', array(), 'Admin.Dashboard.Help'), 'validation' => 'isPercentage', 'cast' => 'intval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => '%' ); $forms['other']['fields']['CONF_ORDER_FIXED'] = array( 'title' => $this->trans('Other fees per order', array(), 'Admin.Dashboard.Feature'), 'desc' => $this->trans('You should calculate this value by making the sum of all of your additional costs per order.', array(), 'Admin.Dashboard.Help'), 'validation' => 'isPrice', 'cast' => 'floatval', 'type' => 'text', 'defaultValue' => '0', 'suffix' => $currency->iso_code ); Media::addJsDef(array( 'dashboard_ajax_url' => $this->context->link->getAdminLink('AdminDashboard'), 'read_more' => '', )); return $forms; } public function renderView() { if (Tools::isSubmit('profitability_conf')) { return parent::renderOptions(); } // $translations = array( // 'Calendar' => $this->trans('Calendar', array(),'Admin.Global'), // 'Day' => $this->trans('Day', array(), 'Admin.Global'), // 'Month' => $this->trans('Month', array(), 'Admin.Global'), // 'Year' => $this->trans('Year', array(), 'Admin.Global'), // 'From' => $this->trans('From:', array(), 'Admin.Global'), // 'To' => $this->trans('To:', array(), 'Admin.Global'), // 'Save' => $this->trans('Save', array(), 'Admin.Global') // ); $testStatsDateUpdate = $this->context->cookie->__get('stats_date_update'); if (!empty($testStatsDateUpdate) && $this->context->cookie->__get('stats_date_update') < strtotime(date('Y-m-d'))) { switch ($this->context->employee->preselect_date_range) { case 'day': $date_from = date('Y-m-d'); $date_to = date('Y-m-d'); break; case 'prev-day': $date_from = date('Y-m-d', strtotime('-1 day')); $date_to = date('Y-m-d', strtotime('-1 day')); break; case 'month': default: $date_from = date('Y-m-01'); $date_to = date('Y-m-d'); break; case 'prev-month': $date_from = date('Y-m-01', strtotime('-1 month')); $date_to = date('Y-m-t', strtotime('-1 month')); break; case 'year': $date_from = date('Y-01-01'); $date_to = date('Y-m-d'); break; case 'prev-year': $date_from = date('Y-m-01', strtotime('-1 year')); $date_to = date('Y-12-t', strtotime('-1 year')); break; } $this->context->employee->stats_date_from = $date_from; $this->context->employee->stats_date_to = $date_to; $this->context->employee->update(); $this->context->cookie->__set('stats_date_update', strtotime(date('Y-m-d'))); $this->context->cookie->write(); } $calendar_helper = new HelperCalendar(); $calendar_helper->setDateFrom(Tools::getValue('date_from', $this->context->employee->stats_date_from)); $calendar_helper->setDateTo(Tools::getValue('date_to', $this->context->employee->stats_date_to)); $stats_compare_from = $this->context->employee->stats_compare_from; $stats_compare_to = $this->context->employee->stats_compare_to; if (is_null($stats_compare_from) || $stats_compare_from == '0000-00-00') { $stats_compare_from = null; } if (is_null($stats_compare_to) || $stats_compare_to == '0000-00-00') { $stats_compare_to = null; } $calendar_helper->setCompareDateFrom($stats_compare_from); $calendar_helper->setCompareDateTo($stats_compare_to); $calendar_helper->setCompareOption(Tools::getValue('compare_date_option', $this->context->employee->stats_compare_option)); $params = array( 'date_from' => $this->context->employee->stats_date_from, 'date_to' => $this->context->employee->stats_date_to ); $moduleManagerBuilder = ModuleManagerBuilder::getInstance(); $moduleManager = $moduleManagerBuilder->build(); $this->tpl_view_vars = array( 'date_from' => $this->context->employee->stats_date_from, 'date_to' => $this->context->employee->stats_date_to, 'hookDashboardZoneOne' => Hook::exec('dashboardZoneOne', $params), 'hookDashboardZoneTwo' => Hook::exec('dashboardZoneTwo', $params), //'translations' => $translations, 'action' => '#', 'warning' => $this->getWarningDomainName(), 'new_version_url' => Tools::getCurrentUrlProtocolPrefix()._PS_API_DOMAIN_.'/version/check_version.php?v='._PS_VERSION_.'&lang='.$this->context->language->iso_code.'&autoupgrade='.(int)($moduleManager->isInstalled('autoupgrade') && $moduleManager->isEnabled('autoupgrade')).'&hosted_mode='.(int)defined('_PS_HOST_MODE_'), 'dashboard_use_push' => Configuration::get('PS_DASHBOARD_USE_PUSH'), 'calendar' => $calendar_helper->generate(), 'PS_DASHBOARD_SIMULATION' => Configuration::get('PS_DASHBOARD_SIMULATION'), 'datepickerFrom' => Tools::getValue('datepickerFrom', $this->context->employee->stats_date_from), 'datepickerTo' => Tools::getValue('datepickerTo', $this->context->employee->stats_date_to), 'preselect_date_range' => Tools::getValue('preselectDateRange', $this->context->employee->preselect_date_range) ); return parent::renderView(); } public function postProcess() { if (Tools::isSubmit('submitDateRealTime')) { if ($use_realtime = (int)Tools::getValue('submitDateRealTime')) { $this->context->employee->stats_date_from = date('Y-m-d'); $this->context->employee->stats_date_to = date('Y-m-d'); $this->context->employee->stats_compare_option = HelperCalendar::DEFAULT_COMPARE_OPTION; $this->context->employee->stats_compare_from = null; $this->context->employee->stats_compare_to = null; $this->context->employee->update(); } Configuration::updateValue('PS_DASHBOARD_USE_PUSH', $use_realtime); } if (Tools::isSubmit('submitDateRange')) { if (!Validate::isDate(Tools::getValue('date_from')) || !Validate::isDate(Tools::getValue('date_to'))) { $this->errors[] = $this->trans('The selected date range is not valid.', array(), 'Admin.Notifications.Error'); } if (Tools::getValue('datepicker_compare')) { if (!Validate::isDate(Tools::getValue('compare_date_from')) || !Validate::isDate(Tools::getValue('compare_date_to'))) { $this->errors[] = $this->trans('The selected date range is not valid.', array(), 'Admin.Notifications.Error'); } } if (!count($this->errors)) { $this->context->employee->stats_date_from = Tools::getValue('date_from'); $this->context->employee->stats_date_to = Tools::getValue('date_to'); $this->context->employee->preselect_date_range = Tools::getValue('preselectDateRange'); if (Tools::getValue('datepicker_compare')) { $this->context->employee->stats_compare_from = Tools::getValue('compare_date_from'); $this->context->employee->stats_compare_to = Tools::getValue('compare_date_to'); $this->context->employee->stats_compare_option = Tools::getValue('compare_date_option'); } else { $this->context->employee->stats_compare_from = null; $this->context->employee->stats_compare_to = null; $this->context->employee->stats_compare_option = HelperCalendar::DEFAULT_COMPARE_OPTION; } $this->context->employee->update(); } } parent::postProcess(); } protected function getWarningDomainName() { $warning = false; if (Shop::isFeatureActive()) { return; } $shop = Context::getContext()->shop; if ($_SERVER['HTTP_HOST'] != $shop->domain && $_SERVER['HTTP_HOST'] != $shop->domain_ssl && Tools::getValue('ajax') == false && !defined('_PS_HOST_MODE_')) { $warning = $this->trans('You are currently connected under the following domain name:', array(), 'Admin.Dashboard.Notification').' <span style="color: #CC0000;">'.$_SERVER['HTTP_HOST'].'</span><br />'; if (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE')) { $warning .= $this->trans( 'This is different from the shop domain name set in the Multistore settings: "%s".', array( '%s' => $shop->domain ), 'Admin.Dashboard.Notification' ).$this->trans( 'If this is your main domain, please {link}change it now{/link}.', array( '{link}' => '<a href="index.php?controller=AdminShopUrl&id_shop_url='.(int)$shop->id.'&updateshop_url&token='.Tools::getAdminTokenLite('AdminShopUrl').'">', '{/link}' => '</a>', ), 'Admin.Dashboard.Notification' ); } else { $warning .= $this->trans('This is different from the domain name set in the "SEO & URLs" tab.', array(), 'Admin.Dashboard.Notification').' '.$this->trans( 'If this is your main domain, please {link}change it now{/link}.', array( '{link}' => '<a href="index.php?controller=AdminMeta&token='.Tools::getAdminTokenLite('AdminMeta').'#meta_fieldset_shop_url">', '{/link}' => '</a>' ), 'Admin.Dashboard.Notification' ); } } return $warning; } public function ajaxProcessRefreshDashboard() { $id_module = null; if ($module = Tools::getValue('module')) { $module_obj = Module::getInstanceByName($module); if (Validate::isLoadedObject($module_obj)) { $id_module = $module_obj->id; } } $params = array( 'date_from' => $this->context->employee->stats_date_from, 'date_to' => $this->context->employee->stats_date_to, 'compare_from' => $this->context->employee->stats_compare_from, 'compare_to' => $this->context->employee->stats_compare_to, 'dashboard_use_push' => (int)Tools::getValue('dashboard_use_push'), 'extra' => (int)Tools::getValue('extra') ); die(json_encode(Hook::exec('dashboardData', $params, $id_module, true, true, (int)Tools::getValue('dashboard_use_push')))); } public function ajaxProcessSetSimulationMode() { Configuration::updateValue('PS_DASHBOARD_SIMULATION', (int)Tools::getValue('PS_DASHBOARD_SIMULATION')); die('k'.Configuration::get('PS_DASHBOARD_SIMULATION').'k'); } public function ajaxProcessGetBlogRss() { $return = array('has_errors' => false, 'rss' => array()); if (!$this->isFresh('/config/xml/blog-'.$this->context->language->iso_code.'.xml', 86400)) { if (!$this->refresh('/config/xml/blog-'.$this->context->language->iso_code.'.xml', _PS_API_URL_.'/rss/blog/blog-'.$this->context->language->iso_code.'.xml')) { $return['has_errors'] = true; } } if (!$return['has_errors']) { $rss = @simplexml_load_file(_PS_ROOT_DIR_.'/config/xml/blog-'.$this->context->language->iso_code.'.xml'); if (!$rss) { $return['has_errors'] = true; } $articles_limit = 2; if ($rss) { foreach ($rss->channel->item as $item) { if ($articles_limit > 0 && Validate::isCleanHtml((string)$item->title) && Validate::isCleanHtml((string)$item->description) && isset($item->link) && isset($item->title)) { if (in_array($this->context->mode, array(Context::MODE_HOST, Context::MODE_HOST_CONTRIB))) { $utm_content = 'cloud'; } else { $utm_content = 'download'; } $shop_default_country_id = (int)Configuration::get('PS_COUNTRY_DEFAULT'); $shop_default_iso_country = (string)Tools::strtoupper(Country::getIsoById($shop_default_country_id)); $analytics_params = array('utm_source' => 'back-office', 'utm_medium' => 'rss', 'utm_campaign' => 'back-office-'.$shop_default_iso_country, 'utm_content' => $utm_content ); $url_query = parse_url($item->link, PHP_URL_QUERY); parse_str($url_query, $link_query_params); if ($link_query_params) { $full_url_params = array_merge($link_query_params, $analytics_params); $base_url = explode('?', (string)$item->link); $base_url = (string)$base_url[0]; $article_link = $base_url.'?'.http_build_query($full_url_params); } else { $article_link = (string)$item->link.'?'.http_build_query($analytics_params); } $return['rss'][] = array( 'date' => Tools::displayDate(date('Y-m-d', strtotime((string)$item->pubDate))), 'title' => (string)Tools::htmlentitiesUTF8($item->title), 'short_desc' => Tools::truncateString(strip_tags((string)$item->description), 150), 'link' => (string)$article_link, ); } else { break; } $articles_limit --; } } } die(json_encode($return)); } public function ajaxProcessSaveDashConfig() { $return = array('has_errors' => false, 'errors' => array()); $module = Tools::getValue('module'); $hook = Tools::getValue('hook'); $configs = Tools::getValue('configs'); $params = array( 'date_from' => $this->context->employee->stats_date_from, 'date_to' => $this->context->employee->stats_date_to ); if (Validate::isModuleName($module) && $module_obj = Module::getInstanceByName($module)) { if (Validate::isLoadedObject($module_obj) && method_exists($module_obj, 'validateDashConfig')) { $return['errors'] = $module_obj->validateDashConfig($configs); } if (!count($return['errors'])) { if (Validate::isLoadedObject($module_obj) && method_exists($module_obj, 'saveDashConfig')) { $return['has_errors'] = $module_obj->saveDashConfig($configs); } elseif (is_array($configs) && count($configs)) { foreach ($configs as $name => $value) { if (Validate::isConfigName($name)) { Configuration::updateValue($name, $value); } } } } else { $return['has_errors'] = true; } } if (Validate::isHookName($hook) && method_exists($module_obj, $hook)) { $return['widget_html'] = $module_obj->$hook($params); } die(json_encode($return)); } }
  4. wie kann ich es beheben das problem ?
  5. Meine Frage ist: Wenn ich backoffice aufrufe denn ist die weiss. Nach neuinstall. woran liegt es ?
  6. Das ist eine Infos wie ich es gemacht habe. da es 2 weg gibt.
  7. Ich hatte es normal entpackt denn auf server draufgezogen denn install.
  8. Das war neu install. Hab grad aktiviert und meldet: FatalErrorException in AdminDashboardController.php line 0: Compile Error: Declaration of AdminDashboardControllerCore::setMedia() must be compatible with AdminControllerCore::setMedia($isNewTheme = false)
  9. Nach installieren vo prestoshop von 1.7.3.3 ist der backseite nicht erreichbar. Es ist weiss.
  10. jetzt weiß ich immer noch nichts genaues. Wie sollte eine rechtsichere Onlineshop aussehen ? bzw was ist zu beachten ?
  11. Aber wenn Prestshop Software install. ist doch alles rechtssicher ? ich frage da ich Anfänger in sachen Onlineshop bin. momentan übe ich mit Prestashop um zu gehen und vorraussichtlich (steht noch nicht fest) August werde ich Onlineshop officiell haben.
  12. Danke Whiley Aber wie soll denn nach dem 13.Juni die Onlineshops Rechtsmässig aussehen ? welche module muß drin sein und welche empefhlenwert um ein rechtsmässige Onlineshop betreiben zu dürfen ?
  13. dies: http://www.e-commerce-magazin.de/ecm/news/onlinerecht-neues-widerrufsrecht-zum-13-juni-2014 auch seit letztes jahr wurde auch was geändert das ich nicht genau weiß
×
×
  • Create New...