[Soft] PHP PRO BID - 2 часть

Добрый день, версия 7.4, подскажите пожалуйста как привязать в почту покупателю Email продавца, а продавцу емаил покупателя.
Еще, есть косяк с кнопками в уголке продавца, нужно поменять местами кнопки мой счёт и общая информация, может кто знает и подскажет как исправить?
Сделай по аналогии этого:
Добавление в письма купли продажи логинов имен пользователей (версия 7.1)
Код:
Файл с обработчиками писем продавцу/покупателю, о том что был продан/куплен лот
/module/Members/view/partials/sale.phtml

после строк:
$buyer = $sale->findParentRow('\Ppb\Db\Table\Users', 'Buyer');
вставить строку:
$seller = $sale->findParentRow('\Ppb\Db\Table\Users', 'Seller'); // добавление продавца


Примерно 62 строка:

  <?php if ($type != 'sold') { ?>
  <strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'sold') { ?>
  <br><strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <b><?php echo $this->_('Buyer'); ?></b>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

Примерно 68 строка:

  <?php if ($type != 'bought') { ?>
  <strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'bought') { ?>
  <br><strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <b><?php echo $this->_('Seller'); ?></b>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

Теперь в письмах-подтверждениях продавцу и покупателю будут стоять оба пользователя и в админпанели на закладке Лоты->Управление счетами
 
Поделюсь ка тоже пожалуй своими мыслями: если картинки называются русскими буквами загрузка не отрабатывает. Смысл сохранять реальные имена картинок? Можно сделать генерацию имени случайным образом. Типа вот так:
\library\Ppb\Model\Uploader.php

Код:
protected function _generateFileName($rawFileName, $uploadType = null)
    {
        $pathInfo = pathinfo($rawFileName);
        //$tempName = preg_replace("/[^а-яА-ЯёЁa-zA-Z0-9_-]/", '', $pathInfo['filename']);
        $tempName = preg_replace("#[^\p{L}0-9\s\!\-\_]#iu", '', $pathInfo['filename']);
        $fileExtension = $pathInfo['extension'];

        foreach ($this->_prohibitedExtensions as $prohibitedExtension) {
            if (stristr($fileExtension, $prohibitedExtension)) {
                $fileExtension = self::PROHIBITED_EXTENSION_REPLACEMENT;
            }
        }

        switch ($uploadType) {
            case 'download':
                $tempName .= '-' . (int)(microtime(true) * 100); // for additional security TODO: not sure if its necessary
                break;
        }
///моя генерация
        $length = 10;
        $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; 
        $size = strlen($chars);
        for( $i = 0; $i < $length; $i++ ) {
        $str .= $chars[ rand( 0, $size - 1 ) ];
        }
          
///end        
        //$fileName = $tempName . '.' . $fileExtension; /*БЫЛО*/

        $fileName = $str . '.' . $fileExtension;
        while (file_exists($this->_generateTargetPath($fileName))) {
            if (preg_match('#\((\d+)\)#', $fileName, $matches)) {
                $fileName = preg_replace('#\((\d+)\)#', '(' . ($matches[1] + 1) . ')', $fileName);
            }
            else {
                $fileName = $tempName . '-(1)' . '.' . $fileExtension;
            }

        }

        return $fileName;
    }

$length = 10; - длина имени файла

При создании лота кто знает где генерируется название? (Тоже русский не понимает, хочу транслит сделать)


Все, это и есть url.php. Решено)

Пили-яяя, ну как можно быть такими рукожопами, ну это капец.
Заходим сюда - Для просмотра ссылки Войди или Зарегистрируйся
Видим лот ID: 747 продавец - cwg (Для просмотра ссылки Войди или Зарегистрируйся), название лота - New Item
А сейчас фокус - вводим в урл вместо 747 - например 607, и получаем по этой ссылке другой товар, другого продавца. Ну ежкин кот. Ну зачем так делать, по нескольким ссылкам один контент. Они слово SEO слышали - не? Есть товар, есть название, ну и пишите listing/chlenosos_obiknovenniy.htm нахрен id товара в конце? Появилось имя повторное - добавили +1.

Ребята ну поделитесь 7.1 исходной, без правок. Ну у кого там аукцион59, или Shaman4ik? А я вам расскажу как правильно генерировать названия для русских аукционов в урл?

В эфире монолог "Записки сумасшедшего". Сегодня мои дорогие читатели узнают как закрыть доступ к админке по ip адресу. Очень полезная штука. Пишем в файле .htaccess :
Код:
RewriteCond %{REMOTE_ADDR} !^88.251.88.251
RewriteCond %{REQUEST_URI} ^/admin$
RewriteRule ^.*$  - [F]

И меняем 88.251.88.251 - на свой ip адрес. Естественно вставляем правила после RewriteEngine On.

До новых встреч!

Ребят! В 7.1 кто нибудь дошел до личных сообщений? Как их вообще писать? Нет зеленого конвертика в соц кнопках, галочка стоит в админке
 
Последнее редактирование модератором:
Сделай по аналогии этого:
Добавление в письма купли продажи логинов имен пользователей (версия 7.1)
Код:
Файл с обработчиками писем продавцу/покупателю, о том что был продан/куплен лот
/module/Members/view/partials/sale.phtml

после строк:
$buyer = $sale->findParentRow('\Ppb\Db\Table\Users', 'Buyer');
вставить строку:
$seller = $sale->findParentRow('\Ppb\Db\Table\Users', 'Seller'); // добавление продавца


Примерно 62 строка:

  <?php if ($type != 'sold') { ?>
  <strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'sold') { ?>
  <br><strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <b><?php echo $this->_('Buyer'); ?></b>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

Примерно 68 строка:

  <?php if ($type != 'bought') { ?>
  <strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'bought') { ?>
  <br><strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <b><?php echo $this->_('Seller'); ?></b>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

Теперь в письмах-подтверждениях продавцу и покупателю будут стоять оба пользователя и в админпанели на закладке Лоты->Управление счетами

Shamanchik, - а вот если бы добавить email (покупателя/продавца ) в сообщении - было бы на 100% самое то!

Кто ковыряет системные сообщения v7.1 - очень не хватает системных сообщений при получении оценки, при оплате, да и просто написать покупателю/продавцу.
 
Последнее редактирование модератором:
Сделай по аналогии этого:
Добавление в письма купли продажи логинов имен пользователей (версия 7.1)
Код:
Файл с обработчиками писем продавцу/покупателю, о том что был продан/куплен лот
/module/Members/view/partials/sale.phtml

после строк:
$buyer = $sale->findParentRow('\Ppb\Db\Table\Users', 'Buyer');
вставить строку:
$seller = $sale->findParentRow('\Ppb\Db\Table\Users', 'Seller'); // добавление продавца


Примерно 62 строка:

  <?php if ($type != 'sold') { ?>
  <strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'sold') { ?>
  <br><strong><?php echo $this->_('Seller'); ?></strong>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <b><?php echo $this->_('Buyer'); ?></b>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

Примерно 68 строка:

  <?php if ($type != 'bought') { ?>
  <strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <?php } ?>

заменить на:
  <?php if ($type != 'bought') { ?>
  <br><strong><?php echo $this->_('Buyer'); ?></strong>:
  <?php echo $this->userDetails()->setUser($buyer)->display(); ?>
  <b><?php echo $this->_('Seller'); ?></b>:
  <?php echo $this->userDetails()->setUser($seller)->display(); ?>
  <?php } ?>

Теперь в письмах-подтверждениях продавцу и покупателю будут стоять оба пользователя и в админпанели на закладке Лоты->Управление счетами
Спасибо! НО уже дня 3-4 ковыряюсь, не могу толком ни чего сделать, не хватает знаний, точнее их к сожалению вообще нет, соответственно есть вопросы, основной: откуда мне дергать email продавца и покупателя, что бы вставлять их в письмо?
 
Shamanchik, - а вот если бы добавить email (покупателя/продавца ) в сообщении - было бы на 100% самое то!
не совсем понял куда ты хочешь их вставлять? уточни, думаю там не проблемма

Спасибо! НО уже дня 3-4 ковыряюсь, не могу толком ни чего сделать, не хватает знаний, точнее их к сожалению вообще нет, соответственно есть вопросы, основной: откуда мне дергать email продавца и покупателя, что бы вставлять их в письмо?
Код:
к примеру это дергает таблицу на предмет данных юзера-продавца:
$seller = $sale->findParentRow('\Ppb\Db\Table\Users', 'Seller'); // добавление продавца
Потом к примеру, так выводишь его данные:
<?php echo $this->userDetails()->setUser($seller)->display(); ?>
 
Последнее редактирование:
в письмо продавцу и покупателю
ну у меня email юзера воткнут в UserDetails и показывается в списке юзеров, на странице репутации и при формировании счета-фактуры, оно тупо добавляется в счет-фактуру и соответственно при продаже приходит письмо уже с email покупателя.
Хотя... надо думаю вывести отдельно оба email в письме-сделаю напишу
 

Вложения

  • скришот_письма.jpg
    скришот_письма.jpg
    101,3 KB · Просмотры: 27
Последнее редактирование:
ну у меня email юзера воткнут в UserDetails, и при формировании счета-фактуры, оно тупо добавляется в счет-фактуру и соответственно при продаже приходит письмо уже с email покупателя. Хотя... надо думаю вывести отдельно оба email в письме
выложи свой скрин письма - у меня видимо с письмами проблема. я тебе на мыло писал - посмотри
Точно, - у меня другие письма, хоть и поставил те что ты присылал - ничего не поменялось

в коде письма есть postageDesc - видимо это и есть почтовые данные покупателя а в письме их нет.
Может проблема в кодировке (UTF8) и не видит и поэтому не публикует?
 

Вложения

  • 2015-09-04 16-20-37 Скриншот экрана.png
    2015-09-04 16-20-37 Скриншот экрана.png
    24,3 KB · Просмотры: 22
  • 2015-09-04 16-24-50 Скриншот экрана.png
    2015-09-04 16-24-50 Скриншот экрана.png
    25,3 KB · Просмотры: 18
Последнее редактирование модератором:
Наконец полностью закончил осмысленный русский перевод PHPProBid 7.1 !!!
Теперь все функции и параметры поддерживают файлы перевода и понятно пользователю и админу, что и для чего надо)))

Попутно исправил вагон ошибок (поддержки перевода, функций, etc.) и к примеру попадались закомментированные разделы.

Закомментированные разделы навигации:

Закомментированые label в module/Admin/config/data/navigation/navigation.xml
Items Swapping Feature
Reverse Auctions
Reverse Auctions Settings
Wanted Ads
Wanted Ads Settings
First Bidder Auctions
First Bidder Auctions Settings
Bold Listing Fee
------------------------------------
Закомментированые label в module/App/config/data/navigation/navigation.xml
Keywords Watch
Block Users
Refund Requests
Profile
Setup Profile
Profile Preview
Cart
------------------------------------
Насколько я понял это все на будущее добавлено
По мне так функция Swapping, т.е. обмен лотами/товарами, пригодилась бы...

------------------------------------
Подскажите, когда в пользовательскую страницу с помощью переменной <%=action:site-fees.pages.app%> вставляешь тарифы сайта

Получается ссылка на вкладках тарифов:
Для просмотра ссылки Войди или Зарегистрируйся
а должна быть ссылка на вкладках тарифов:
Для просмотра ссылки Войди или Зарегистрируйся
т.е. без app, никак не найду откуда берет это... версия 7.1

------------------------------------
в коде письма есть postageDesc - видимо это и есть почтовые данные покупателя а в письме их нет.
Может проблема в кодировке (UTF8) и не видит и поэтому не публикует?
шаблоны писем и обработчики писем смотри в первую очередь, если б кодировка, то хотя бы кракозябры пришли, а у тебя пусто, значит переменные пустые. У меня все в UTF-8
 
Последнее редактирование:
Reverse Auctions - было бы неплохо для продажи услуг или биржи фрилансеров
 
Назад
Сверху