Файловый менеджер - Редактировать - /var/www/iplanru/data/www/i-plan.ru/administrator/components/com_pay/models/discount.php
Назад
<?php // No direct access defined( '_JEXEC' ) or die; // Подключаем библиотеку modeladmin Joomla. jimport('joomla.application.component.modeladmin'); /** * Модель редактирования текущего элемента * @author kirdinyuri */ class PayModelDiscount extends JModelAdmin { /** * загрузка текущей формы * @param Array $data * @param Boolean $loadData * @return Object form data */ public function getForm( $data = array( ), $loadData = true ) { // Получаем форму. $form = $this->loadForm('com_pay.discount', 'discount', array('control' => 'jform', 'load_data' => $loadData)); if (empty($form)) { return false; } $componentParams = JComponentHelper::getParams('com_pay'); $discount = $componentParams->get('discount', '1'); $duration = $componentParams->get('duration', '0'); $date_finish = date('Y-m-d H:i:s', strtotime ('+'.$duration.' day')); if ($form->getValue( 'code')=='') { $str=time(); $str1=strtoupper(md5(time().$str)); $str2=strtoupper(md5(time().$str1)); $str3=strtoupper(md5(time().$str2)); $str4=strtoupper(md5(time().$str3)); $itog = substr($str1,0,4).'-'.substr($str2,0,4).'-'.substr($str3,0,4).'-'.substr($str4,0,5); $form->setValue( 'code', null, $itog ); } $user = JFactory::getUser(); $form->setValue( 'manager', null, $user->id ); if ($form->getValue( 'date_issue')=='') $form->setValue( 'date_issue', null, date( 'Y-m-d H:i:s' ) ); if ($form->getValue( 'date_finish')=='') $form->setValue( 'date_finish', null, $date_finish ); if ($form->getValue( 'discount')=='') $form->setValue( 'discount', null, $discount ); return $form; } /** * @param Int $id (object identifier) * @return Object (current item) */ public function getItem( $id = null ) { if ( $item = parent::getItem( $id ) ) { //$item->text = trim( $item->fulltext ) != '' ? $item->introtext . '<hr id="system-readmore" />' . $item->fulltext : $item->introtext; } return $item; } /** * @param string $type * @param string $prefix * @param array $config * @return JTable|mixed */ public function getTable( $type = 'pay_discounts', $prefix = 'Table', $config = array( ) ) { return JTable::getInstance( $type, $prefix, $config ); } /** * Загрузка данных в форму * @return Object */ protected function loadFormData() { $data = JFactory::getApplication()->getUserState( 'com_pay.edit.discount.data', array() ); if ( empty( $data ) ) { $data = $this->getItem(); } return $data; } /** * Запрет удаления записи * @param object $record * @return bool */ protected function canDelete( $record ) { if ( !empty( $record->id ) ) { return JFactory::getUser()->authorise( 'core.delete', '#__table1.' . (int)$record->id ); } } /** * Запрет изменения состояния * @param object $record * @return bool */ protected function canEditState( $record ) { $user = JFactory::getUser(); // Check for existing article. if ( !empty( $record->id ) ) { return $user->authorise( 'core.edit.state', '#__pay_discounts.' . (int)$record->id ); } // New article, so check against the category. elseif ( !empty( $record->catid ) ) { return $user->authorise( 'core.edit.state', '#__pay_discounts.' . (int)$record->catid ); } // Default to component settings if neither article nor category known. else { return parent::canEditState( 'com_pay' ); } } public function certificate($pks) { foreach($pks as $id) { $db = $this->getDbo(); $list = $db->setQuery( "SELECT id, code, mail1, fio1, DATE_FORMAT(date_issue,'%d/%m/%Y') as date_issue2, DATEDIFF(date_finish,date_issue) as days, CONVERT((1-discount)*100, SIGNED) as disc, date_use, date_finish FROM #__pay_discounts where id={$id}" )->loadAssoc(); $y = $list[days] % 10; $x = $list[days] / 10 % 10; if ($x && $x == 1) $d = "дней"; elseif ($y == 1) $d = "день"; elseif (in_array($y,"2,3,4")) $d = "дня"; else $d = "дней"; $img=JPATH_ADMINISTRATOR . '/components/com_pay/certificate/certificate.jpg'; $pic = ImageCreateFromjpeg($img); //открываем рисунок в формате JPEG Header("Content-type: image/jpeg"); //указываем на тип передаваемых данных $color=ImageColorAllocate($pic, 0, 0, 0); //получаем идентификатор цвета $font=JPATH_ADMINISTRATOR . '/components/com_pay/assets/fonts/ARIALN.TTF'; /* выводим текст на изображение */ ImageTTFtext($pic, 34, 0, 660, 590, $color, $font, $list[code]); ImageTTFtext($pic, 30, 0, 360, 750, $color, $font, $list[date_issue2]); ImageTTFtext($pic, 30, 0, 805, 750, $color, $font, $list[days].' '.$d); ImageTTFtext($pic, 30, 0, 1265, 750, $color, $font, $list[disc].'%'); Imagejpeg($pic,JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.jpg"); //сохраняем рисунок в формате JPEG ImageDestroy($pic); //освобождаем память и закрываем изображение //получение параметров $componentParams = &JComponentHelper::getParams('com_pay'); $server = $componentParams->get('server', 'main'); if ($server=="main") { $mmail = $componentParams->get('mmail', ''); $mmail=explode(",",$mmail); } else { $mmail = $componentParams->get('mmailt', ''); $mmail=explode(",",$mmail); } $cmtu = $componentParams->get('certificate_mail_text_user', ''); $cmtu=str_replace("%USERNAME%",$list['fio1'],$cmtu ); $cmtm = $componentParams->get('certificate_mail_text_manager', ''); $cmtm=str_replace("%USERNAME%",$list['fio1'],$cmtm ); //pdf------------------------------------------------------- require('fpdf.php'); $pdf = new FPDF('Landscape','mm','A4'); $pdf->Open(); $pdf->AddPage(); $pdf->Image(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.jpg",'','',297,210); $pdf->Output(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.pdf"); $pdfpath=JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.pdf"; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $subject="Сертификат на скидку онлайн покупки на сайте i-plan.ru"; /* $mailer =& JFactory::getMailer(); $conf = new JConfig(); $sender = array( $conf->mailfrom, $conf->fromname); $mailer->setSender($sender); $mailer->addRecipient($list[mail1]); $mailer->setSubject($subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($cmtu); //$mailer->AddEmbeddedImage(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.jpg", // 'certificate_id', 'certificate.jpg', 'base64', 'image/jpeg'); $mailer->addAttachment(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.pdf"); //$send =& $mailer->Send(); if ( $send !== true ) { JError::raiseWarning( 100, "Письмо клиенту (ID {$list[id]}) не отправлено" ); } else { JError::raiseNotice( 100, "Письмо клиенту (ID {$list[id]}) отправлено" ); } unset($msg); */ $cmtu=str_replace('"','\"',$cmtu); $query = "INSERT INTO #__pay_mail (`id`,`to`,`msg`,`subject`,`files`,`images`) VALUES (NULL , '{$list[mail1]}', '{$cmtu}', '{$subject}', '{$pdfpath}','');"; $db->setquery($query);$b=$db->query($query); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $subject="Сертификат на скидку онлайн покупки на сайте i-plan.ru"; /* $mailer =& JFactory::getMailer(); $conf = new JConfig(); $sender = array( $conf->mailfrom, $conf->fromname); $mailer->setSender($sender); $mailer->addRecipient($mmail); $mailer->setSubject($subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($cmtm); $mailer->addAttachment(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.pdf"); //$send =& $mailer->Send(); if ( $send !== true ) { JError::raiseWarning( 100, "Письмо менеджерам не отправлено" ); } else { JError::raiseNotice( 100, "Письмо менеджерам отправлено" ); } unset($msg); */ $cmtm=str_replace('"','\"',$cmtm); foreach($mmail as $item) { $query = "INSERT INTO #__pay_mail (`id`,`to`,`msg`,`subject`,`files`,`images`) VALUES (NULL , '{$item}', '{$cmtm}', '{$subject}', '{$pdfpath}','');"; $db->setquery($query);$b=$db->query($query); } //unlink(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.jpg"); //unlink(JPATH_ADMINISTRATOR . "/components/com_pay/certificate/certificate_{$list[id]}.pdf"); } return true; } }
| ver. 1.4 |
Github
|
.
| PHP 5.4.45-1~dotdeb+6.1 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка