Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

ALEKSFLY

Newbie
  
  • Posts

    29
  • Joined

  • Last visited

Recent Profile Visitors

2,258 profile views

ALEKSFLY's Achievements

Explorer

Explorer (4/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. у меня наблюдается след баг- нажимаешь поделиться в контакте и фото не масштабируется. http://magaz.spb.ru помогите пожалуйста с проблемой? 50 2012-05-22 23:48:26 - PHP Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /pub/home/new10099/magazspbru/system/library/image.php on line 11 2012-05-22 23:48:26 - PHP Warning: imagepng(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 45 2012-05-22 23:48:26 - PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 50 2012-05-22 23:49:13 - PHP Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /pub/home/new10099/magazspbru/system/library/image.php on line 11 2012-05-22 23:49:13 - PHP Warning: imagepng(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 45 2012-05-22 23:49:13 - PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 50 2012-05-22 23:49:15 - PHP Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /pub/home/new10099/magazspbru/system/library/image.php on line 11 2012-05-22 23:49:15 - PHP Warning: imagepng(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 45 2012-05-22 23:49:15 - PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 50 2012-05-22 23:49:15 - PHP Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /pub/home/new10099/magazspbru/system/library/image.php on line 11 2012-05-22 23:49:15 - PHP Warning: imagepng(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 45 2012-05-22 23:49:15 - PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 50 2012-05-22 23:49:16 - PHP Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /pub/home/new10099/magazspbru/system/library/image.php on line 11 2012-05-22 23:49:16 - PHP Warning: imagepng(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 45 2012-05-22 23:49:16 - PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /pub/home/new10099/magazspbru/system/library/image.php on line 50 есть такое... вот файлы...
  2. РЕБЯТА!! У КОГО ТАКАЯ ЖЕ ПРОБЛЕМА????? с чем она связана??? самопроизвольно стала возникать
  3. да точно так же как и возможно решение тройного интегралла!
  4. возникает след. проблема при добавлении новости в контакт путем кнопки использованной с темы в форуме - проявляется ошибка в виде отсутствия картинки в топике (уже в соц. сетях). укажите пожалуйста возможные причины проблем??? магаз ХТТП:\\magaz.spb.ru
  5. https://opencartforum.com/topic/7375-ulogin-%D0%B4%D0%BB%D1%8F-opencart-15xx/page__pid__48127#entry48127 не мучаемся.. голосуем!! для 1.51 для 1.4.х требуются желающие больше 2 шт... пока только 2... отписываемся в теме
  6. люди !!! есть ли кто третий?? автору респект!!! обещал сделать если более 2х желаюших!!!!!!!!!!
  7. прошу прощения за тупой вопрос ) а как установить фоновую картинку?
  8. вот и народ набирается ))) господа!! кому интересно!! отписываемся в тему!!!!!!!!!!!!!!!!
  9. скажите пожалуйста данный модуль подойдет для 1,4,9,3 ???
  10. Доброго времени суток! при регистрации магазина в Яндекс маркете пришло письмо со следующим текстом! помогите как правильно прописать????? =((( для количества товаров??? вот код.. тег там присутствует <?php /** * Класс YML экспорта * YML (Yandex Market Language) - стандарт, разработанный "Яндексом" * для принятия и публикации информации в базе данных Яндекс.Маркет * YML основан на стандарте XML (Extensible Markup Language) * описание формата YML http://partner.market.yandex.ru/legal/tt/ */ class ControllerExportYml extends Controller { private $shop = array(); private $currencies = array(); private $categories = array(); private $offers = array(); private $from_charset = 'utf-8'; private $eol = "n"; public function index() { if ($this->config->get('yandex_market_status')) { $this->load->model('export/yandex_market'); $this->load->model('localisation/currency'); $this->load->model('tool/image'); $this->load->model('tool/seo_url'); // Магазин $this->setShop('name', $this->config->get('yandex_market_shopname')); $this->setShop('company', $this->config->get('yandex_market_company')); $this->setShop('url', HTTP_SERVER); $this->setShop('phone', $this->config->get('config_telephone')); $this->setShop('platform', 'ocStore'); $this->setShop('version', VERSION); // Валюты // TODO: Добавить возможность настраивать проценты в админке. $offers_currency = $this->config->get('yandex_market_currency'); if (!$this->currency->has($offers_currency)) exit(); $decimal_place = $this->currency->getDecimalPlace($offers_currency); $shop_currency = $this->config->get('config_currency'); $this->setCurrency($offers_currency, 1); $currencies = $this->model_localisation_currency->getCurrencies(); $supported_currencies = array('RUR', 'RUB', 'USD', 'BYR', 'KZT', 'EUR', 'UAH'); $currencies = array_intersect_key($currencies, array_flip($supported_currencies)); foreach ($currencies as $currency) { if ($currency['code'] != $offers_currency && $currency['status'] == 1) { $this->setCurrency($currency['code'], number_format(1/$this->currency->convert($currency['value'], $offers_currency, $shop_currency), 4, '.', '')); } } // Категории $categories = $this->model_export_yandex_market->getCategory(); foreach ($categories as $category) { $this->setCategory($category['name'], $category['category_id'], $category['parent_id']); } // Товарные предложения $products = $this->model_export_yandex_market->getProduct(); foreach ($products as $product) { $data = array(); // Атрибуты товарного предложения $data['id'] = $product['product_id']; // $data['type'] = 'vendor.model'; $data['available'] = ($product['stock_status_id'] != 5); // 5 - id статуса "Нет на складе" (под заказ) // $data['bid'] = 10; // $data['cbid'] = 15; // Параметры товарного предложения $data['url'] = $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&product_id=' . $product['product_id']); $data['price'] = number_format($this->currency->convert($this->tax->calculate($product['price'], $product['tax_class_id']), $shop_currency, $offers_currency), $decimal_place, '.', ''); $data['currencyId'] = $offers_currency; $data['categoryId'] = $product['category_id']; $data['delivery'] = 'true'; $data['local_delivery_cost'] = 100; $data['name'] = $product['name']; $data['vendor'] = $product['manufacturer']; $data['vendorCode'] = $product['model']; $data['model'] = $product['name']; $data['description'] = $product['description']; $data['manufacturer_warranty'] = 'true'; // $data['barcode'] = $product['sku']; if ($product['image']) { $data['picture'] = $this->model_tool_image->resize($product['image'], 100, 100); } /* // пример структуры массива для вывода параметров $data['param'] = array( array( 'name'=>'Wi-Fi', 'value'=>'есть' ), array( 'name'=>'Размер экрана', 'unit'=>'дюйм', 'value'=>'20' ), array( 'name'=>'Вес', 'unit'=>'кг', 'value'=>'4.6' ) ); */ $this->setOffer($data); } $this->response->addHeader('Content-Type: application/xml'); $this->response->setOutput($this->getYml()); } } /** * Методы формирования YML */ /** * Формирование массива для элемента shop описывающего магазин * * @param string $name - Название элемента * @param string $value - Значение элемента */ private function setShop($name, $value) { $allowed = array('name', 'company', 'url', 'phone', 'platform', 'version', 'agency', 'email'); if (in_array($name, $allowed)) { $this->shop[$name] = $this->prepareField($value); } } /** * Валюты * * @param string $id - код валюты (RUR, RUB, USD, BYR, KZT, EUR, UAH) * @param float|string $rate - курс этой валюты к валюте, взятой за единицу. * Параметр rate может иметь так же следующие значения: * CBRF - курс по Центральному банку РФ. * NBU - курс по Национальному банку Украины. * NBK - курс по Национальному банку Казахстана. * СВ - курс по банку той страны, к которой относится интернет-магазин * по Своему региону, указанному в Партнерском интерфейсе Яндекс.Маркета. * @param float $plus - используется только в случае rate = CBRF, NBU, NBK или СВ * и означает на сколько увеличить курс в процентах от курса выбранного банка * @return bool */ private function setCurrency($id, $rate = 'CBRF', $plus = 0) { $allow_id = array('RUR', 'RUB', 'USD', 'BYR', 'KZT', 'EUR', 'UAH'); if (!in_array($id, $allow_id)) { return false; } $allow_rate = array('CBRF', 'NBU', 'NBK', 'CB'); if (in_array($rate, $allow_rate)) { $plus = str_replace(',', '.', $plus); if (is_numeric($plus) && $plus > 0) { $this->currencies[] = array( 'id'=>$this->prepareField(strtoupper($id)), 'rate'=>$rate, 'plus'=>(float)$plus ); } else { $this->currencies[] = array( 'id'=>$this->prepareField(strtoupper($id)), 'rate'=>$rate ); } } else { $rate = str_replace(',', '.', $rate); if (!(is_numeric($rate) && $rate > 0)) { return false; } $this->currencies[] = array( 'id'=>$this->prepareField(strtoupper($id)), 'rate'=>(float)$rate ); } return true; } /** * Категории товаров * * @param string $name - название рубрики * @param int $id - id рубрики * @param int $parent_id - id родительской рубрики * @return bool */ private function setCategory($name, $id, $parent_id = 0) { if ((int)$id < 1 || trim($name) == '') { return false; } if ((int)$parent_id > 0) { $this->categories[] = array( 'id'=>(int)$id, 'parentId'=>(int)$parent_id, 'name'=>$this->prepareField($name) ); } else { $this->categories[] = array( 'id'=>(int)$id, 'name'=>$this->prepareField($name) ); } return true; } /** * Товарные предложения * * @param array $data - массив параметров товарного предложения */ private function setOffer($data) { $offer = array(); $attributes = array('id', 'type', 'available', 'bid', 'cbid', 'param'); $attributes = array_intersect_key($data, array_flip($attributes)); foreach ($attributes as $key => $value) { switch ($key) { case 'id': case 'bid': case 'cbid': $value = (int)$value; if ($value > 0) { $offer[$key] = $value; } break; case 'type': if (in_array($value, array('vendor.model', 'book', 'audiobook', 'artist.title', 'tour', 'ticket', 'event-ticket'))) { $offer['type'] = $value; } break; case 'available': $offer['available'] = ($value ? 'true' : 'false'); break; case 'param': if (is_array($value)) { $offer['param'] = $value; } break; default: break; } } $type = isset($offer['type']) ? $offer['type'] : ''; $allowed_tags = array('url'=>0, 'buyurl'=>0, 'price'=>1, 'wprice'=>0, 'currencyId'=>1, 'xCategory'=>0, 'categoryId'=>1, 'picture'=>0, 'store'=>0, 'pickup'=>0, 'delivery'=>0, 'deliveryIncluded'=>0, 'local_delivery_cost'=>0, 'orderingTime'=>0); switch ($type) { case 'vendor.model': $allowed_tags = array_merge($allowed_tags, array('typePrefix'=>0, 'vendor'=>1, 'vendorCode'=>0, 'model'=>1, 'provider'=>0, 'tarifplan'=>0)); break; case 'book': $allowed_tags = array_merge($allowed_tags, array('author'=>0, 'name'=>1, 'publisher'=>0, 'series'=>0, 'year'=>0, 'ISBN'=>0, 'volume'=>0, 'part'=>0, 'language'=>0, 'binding'=>0, 'page_extent'=>0, 'table_of_contents'=>0)); break; case 'audiobook': $allowed_tags = array_merge($allowed_tags, array('author'=>0, 'name'=>1, 'publisher'=>0, 'series'=>0, 'year'=>0, 'ISBN'=>0, 'volume'=>0, 'part'=>0, 'language'=>0, 'table_of_contents'=>0, 'performed_by'=>0, 'performance_type'=>0, 'storage'=>0, 'format'=>0, 'recording_length'=>0)); break; case 'artist.title': $allowed_tags = array_merge($allowed_tags, array('artist'=>0, 'title'=>1, 'year'=>0, 'media'=>0, 'starring'=>0, 'director'=>0, 'originalName'=>0, 'country'=>0)); break; case 'tour': $allowed_tags = array_merge($allowed_tags, array('worldRegion'=>0, 'country'=>0, 'region'=>0, 'days'=>1, 'dataTour'=>0, 'name'=>1, 'hotel_stars'=>0, 'room'=>0, 'meal'=>0, 'included'=>1, 'transport'=>1, 'price_min'=>0, 'price_max'=>0, 'options'=>0)); break; case 'event-ticket': $allowed_tags = array_merge($allowed_tags, array('name'=>1, 'place'=>1, 'hall'=>0, 'hall_part'=>0, 'date'=>1, 'is_premiere'=>0, 'is_kids'=>0)); break; default: $allowed_tags = array_merge($allowed_tags, array('name'=>1, 'vendor'=>0, 'vendorCode'=>0)); break; } $allowed_tags = array_merge($allowed_tags, array('aliases'=>0, 'additional'=>0, 'description'=>0, 'sales_notes'=>0, 'promo'=>0, 'manufacturer_warranty'=>0, 'country_of_origin'=>0, 'downloadable'=>0, 'adult'=>0, 'barcode'=>0)); $required_tags = array_filter($allowed_tags); if (sizeof(array_intersect_key($data, $required_tags)) != sizeof($required_tags)) { return; } $data = array_intersect_key($data, $allowed_tags); // if (isset($data['tarifplan']) && !isset($data['provider'])) { // unset($data['tarifplan']); // } $allowed_tags = array_intersect_key($allowed_tags, $data); // Стандарт XML учитывает порядок следования элементов, // поэтому важно соблюдать его в соответствии с порядком описанным в DTD $offer['data'] = array(); foreach ($allowed_tags as $key => $value) { $offer['data'][$key] = $this->prepareField($data[$key]); } $this->offers[] = $offer; } /** * Формирование YML файла * * @return string */ private function getYml() { $yml = '<?xml version="1.0" encoding="windows-1251"?>' . $this->eol; $yml .= '<!DOCTYPE yml_catalog SYSTEM "shops.dtd">' . $this->eol; $yml .= '<yml_catalog date="' . date('Y-m-d H:i') . '">' . $this->eol; $yml .= '<shop>' . $this->eol; // информация о магазине $yml .= $this->array2Tag($this->shop); // валюты $yml .= '<currencies>' . $this->eol; foreach ($this->currencies as $currency) { $yml .= $this->getElement($currency, 'currency'); } $yml .= '</currencies>' . $this->eol; // категории $yml .= '<categories>' . $this->eol; foreach ($this->categories as $category) { $category_name = $category['name']; unset($category['name']); $yml .= $this->getElement($category, 'category', $category_name); } $yml .= '</categories>' . $this->eol; // товарные предложения $yml .= '<offers>' . $this->eol; foreach ($this->offers as $offer) { $tags = $this->array2Tag($offer['data']); unset($offer['data']); if (isset($offer['param'])) { $tags .= $this->array2Param($offer['param']); unset($offer['param']); } $yml .= $this->getElement($offer, 'offer', $tags); } $yml .= '</offers>' . $this->eol; $yml .= '</shop>'; $yml .= '</yml_catalog>'; return $yml; } /** * Фрмирование элемента * * @param array $attributes * @param string $element_name * @param string $element_value * @return string */ private function getElement($attributes, $element_name, $element_value = '') { $retval = '<' . $element_name . ' '; foreach ($attributes as $key => $value) { $retval .= $key . '="' . $value . '" '; } $retval .= $element_value ? '>' . $this->eol . $element_value . '</' . $element_name . '>' : '/>'; $retval .= $this->eol; return $retval; } /** * Преобразование массива в теги * * @param array $tags * @return string */ private function array2Tag($tags) { $retval = ''; foreach ($tags as $key => $value) { $retval .= '<' . $key . '>' . $value . '</' . $key . '>' . $this->eol; } return $retval; } /** * Преобразование массива в теги параметров * * @param array $params * @return string */ private function array2Param($params) { $retval = ''; foreach ($params as $param) { $retval .= '<param name="' . $this->prepareField($param['name']); if (isset($param['unit'])) { $retval .= '" unit="' . $this->prepareField($param['unit']); } $retval .= '">' . $this->prepareField($param['value']) . '</param>' . $this->eol; } return $retval; } /** * Подготовка текстового поля в соответствии с требованиями Яндекса * Запрещаем любые html-тэги, стандарт XML не допускает использования в текстовых данных * непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением * символов с кодами 9, 10, 13 - табуляция, перевод строки, возврат каретки). Также этот * стандарт требует обязательной замены некоторых символов на их символьные примитивы. * @param string $text * @return string */ private function prepareField($field) { $field = htmlspecialchars_decode(trim($field)); $field = strip_tags($field); $from = array('"', '&', '>', '<', '''); $to = array('"', '&', '>', '<', '''); $field = str_replace($from, $to, $field); if ($this->from_charset != 'windows-1251') { $field = iconv($this->from_charset, 'windows-1251//TRANSLIT//IGNORE', $field); } $field = preg_replace('#[x00-x08x0B-x0Cx0E-x1F]+#is', ' ', $field); return trim($field); } } ?>
  11. за исправление кину 50 рублей на телефон !! стучите в аську 4500435 skype aleksfly
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.