Основных отличий от штатной формы три:
1. несколько переделан внешний вид в угоду красивости
2. в админке добавлен модуль, где вводятся фамилии директора/бухгалтера, загружаются их подписи и печать.
3. производится конвертация счета в PDF
А поскольку фамилии, подписи и печать представляют собой доступные везде константы, то использовать их можно и при создании других документов - фактур, накладных и т.п.
Установка:
----------
1. копируем файлы
modules_shtamp.php -> core/includes/admin/sub/
modules_shtamp.tpl.html -> core/tpl/admin/
invoice_jur.php -> core/includes/processor/
invoice_jur.tpl.html -> core/modules/tpl/
2. в файле default.tpl.html перед строкой
<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></div>
вставляем
{* BEGIN shtamp *}
<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=shtamp">Печать и подписи</a></div>
{* END shtamp *}
3. в файле core/tpl/admin/menu.tpl.html перед строкой
<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=yandex">{$smarty.const.ADMIN_STRING_YANDEX}</a></td></tr></table>
вставляем
{* BEGIN shtamp *}
<table class="adn topj"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=shtamp">Печать и подписи</a></td></tr></table>
{* END shtamp *}
4. в файле core/includes/admin/modules.php перед строкой
array("id"=>"yandex", "name"=>"Яндекс.Маркет" )
вставляем
# BEGIN shtamp
array("id"=>"shtamp", "name"=>"Печать и подписи"),
# END shtamp
5. в файле core/modules/payment/invoice_jur.php
5.1. вместо (можно просто закомментировать этот кусок)
if ($this->_getSettingValue('CONF_PAYMENTMODULE_INVOICE_JUR_EMAIL_HTML_INVOICE') == 1) //html
{
...
}
else
вставляем
if ($this->_getSettingValue('CONF_PAYMENTMODULE_INVOICE_JUR_EMAIL_HTML_INVOICE') != 1)
таким образом мы отключим отсылку email-а со счетом, т.к. он теперь отсылается из core/includes/processor/invoice_jur.php
5.2. (совершенно не обязательно) вместо
"<script>\n".
" open_window('index.php?do=invoice_jur&moduleID=".(int)$this->ModuleConfigID."&orderID=".(int)$orderID."&order_time=".base64_encode( $order["order_time_mysql"] )."&customer_email=".base64_encode( $order["customer_email"] )."',700,600);\n".
"</script>\n";
вставляем
[php]
# BEGIN order_confirm
/*
"<script>\n".
" open_window('index.php?do=invoice_jur&moduleID=".(int)$this->ModuleConfigID."&orderID=".(int)$orderID."&order_time=".base64_encode( $order["order_time_mysql"] )."&customer_email=".base64_encode( $order["customer_email"] )."',700,600);\n".
"</script>\n";
*/
"<a href='index.php?do=invoice_jur&moduleID=".(int)$this->ModuleConfigID."&orderID=".(int)$orderID."&order_time=".base64_encode( $order["order_time_mysql"] )."&customer_email=".base64_encode( $order["customer_email"] )."' id='adddoc'>если через 5 секунд на экране не появится счет - перейдите по этой ссылке</a>".
"<script>setTimeout('document.getElementById(\'adddoc\').click()',5000);</script>";
# END order_confirm
Таким образом мы откроем счет не в новом окне (что может быть заблокировано браузером), а в текущем.
6. добавляем конвертер HTML->PDF
6.1 скачиваем из http://www.mpdf1.com/mpdf/download последнюю версию mPDF
6.2 распаковываем в корень сайта, переименовываем каталог (на текущий момент это MPDF54) в mpdf
------------------
После всего этого в админке в разделе "Модули" появится новый модуль "Печать и подписи".
Уровень доступа к этому модулю "Общие настройки" (это для тех, у кого кроме админов с полным доступом и клиентов есть еще пользователи с разными уровнями доступа в админке).