Esempio n. 1
0
 /**
 * @return stirng - Путь до изображения
 * @param string $file_name - Исходное изображение
 * @param CONST $scale_type - Способ масштабирования рисунка, одна из трех констант
 			stRateably	-	Масштабирование с учетом пропорций, относительно $width или $height
 			stSquare    - 	Обрезать по квадрату со стороной $width
 			stInSquare  - 	Вписать в квадрат со стороной $width
 * @param int $width - Ширина конечного изображения, если == 0 не учитывается
 * @param int $height - Высота конечного изображения, если == 0 не учитывается
 * @param string $watermark - Способ наложения водяного знака. Одно из нескольких значений:
 			0 		- 	Водяной знак не накладывается
 			1-9 	-	Водяной знак накладывается в одну из 9 позиций квадрата (см. документацию)
 * @desc МАКРОС: При необходимости масштабирует изображение под заданные параметры и
 				возвращает путь до кешированного файла.
 */
 public function resize($file_name, $scale_type, $width = 0, $height = 0, $watermark = 0)
 {
     if (!empty($file_name)) {
         if (system::checkVar($file_name, isAbsUrl)) {
             return $file_name;
         }
         $scale = !is_numeric($scale_type) ? constant($scale_type) : $scale_type;
         $dir = '/cache/img/' . $scale_type . '_' . $width . 'x' . $height . '_' . $watermark;
         $new_file = $dir . '/' . system::fileName($file_name);
         if (!file_exists(ROOT_DIR . $new_file)) {
             if (!is_dir(ROOT_DIR . $dir)) {
                 @mkdir(ROOT_DIR . $dir, 0777);
             }
             $img = new resizer($file_name, $scale, $width, $height);
             if (is_numeric($watermark) && $watermark > 0) {
                 $img->setWatermark(reg::getKey('/core/watermark'), $watermark);
             }
             $img->save(ROOT_DIR . $new_file);
         }
         if (file_exists(ROOT_DIR . $new_file)) {
             return $new_file;
         }
     }
 }
Esempio n. 2
0
 public function delete()
 {
     if (!empty($this->id)) {
         // Удаляем вложенные объекты. Только тех, которые не имеют нескольких родителей.
         $this->resetChild();
         while ($obj = $this->getChild(true)) {
             if (count($obj->getParents(true)) < 2) {
                 $obj->delete();
             }
         }
         foreach ($this->getClass()->loadFields() as $name => $field) {
             if (in_array($field['f_type'], array(70, 75, 80, 85))) {
                 @unlink(ROOT_DIR . $this->{$name});
                 if ($field['f_type'] == 75) {
                     $this->deleteCacheImages(system::fileName($this->{$name}));
                 }
             }
         }
         $ret = db::q('DELETE FROM <<objects>> WHERE o_id = "' . $this->id . '";');
         if ($ret === false) {
             $this->newError(12, 'Ошибка в SQL запросе!');
             return false;
         }
         return true;
     } else {
         return false;
     }
 }
Esempio n. 3
0
 static function sendNextBlock($release_id, $num_block)
 {
     if ($release = ormObjects::get($release_id)) {
         $subscribe = $release->getParent();
         $release->last_subscribe = date('Y-m-d H:i:s');
         $release->error_iteration_num = $num_block + 1;
         $release->save();
         $start = ($_SESSION['SUBSCR_PART'] - 1) * reg::getKey('/subscription/count_mails_day') + ($num_block - 1) * reg::getKey('/subscription/count_mails');
         $sel = new ormSelect('subscribe_user');
         $sel->where('parents', '=', $release->parent_id);
         $sel->limit($start, reg::getKey('/subscription/count_mails'));
         while ($obj = $sel->getObject()) {
             // Подставляем ФИО пользователя
             page::assign('user.id', $obj->id);
             page::assign('user_name', '');
             if (file_exists(TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl')) {
                 include TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl';
                 if ($obj->first_name != '') {
                     if ($subscribe->name_format == 2) {
                         $name = $obj->second_name . ' ' . $obj->first_name;
                     } else {
                         $name = $obj->first_name;
                     }
                     page::assign('user_name', $name);
                     $hello = page::parse($TEMPLATE['hello_username']);
                 } else {
                     $hello = page::parse($TEMPLATE['hello']);
                 }
             } else {
                 $hello = '';
             }
             page::assign('hello', $hello);
             // Отправляет письмо
             $mail = new phpmailer();
             $mail->From = $subscribe->back_email;
             $mail->FromName = $subscribe->back_name;
             $mail->AddAddress($obj->name);
             $mail->WordWrap = 50;
             $mail->IsHTML(true);
             $mail->AddAttachment(ROOT_DIR . '/' . $release->file, system::fileName($release->file));
             $mail->Subject = page::parse($_SESSION['SUBSCR_SUBJECT']);
             $mail->Body = page::parse($_SESSION['SUBSCR_MAILHTML']);
             $mail->Send();
         }
     }
 }
Esempio n. 4
0
 /**
  * @return null
  * @param string $field_name - Имя поля формы и макроса для вывода элемента в шаблон
  * @param string $value - Список файлов
  * @desc Элемент формы для загрузки списка файлов
  */
 public static function listFile($field_name, $value)
 {
     if (file_exists(MODUL_DIR . '/mpanel/template/list_file.tpl')) {
         include MODUL_DIR . '/mpanel/template/list_file.tpl';
         /*
         
            if (system::fileExtIs($file_name, array('flv', 'png', 'jpg', 'jpeg', 'png')))
                page::assign('link_type', 'href="#" onclick="$.prettyPhoto.open(\'%value%\');"');
            else
                page::assign('link_type', 'href="%value%" target="_target"');
         */
         //
         if (!empty($value)) {
             $files = explode(";", $value);
             $items = '';
             while (list($key, $file_name) = each($files)) {
                 if (!empty($file_name) && file_exists(ROOT_DIR . $file_name) && !is_Dir(ROOT_DIR . $file_name)) {
                     $info = stat(ROOT_DIR . $file_name);
                     if (system::fileExtIs($file_name, array('png', 'gif', 'jpg', 'jpeg'))) {
                         $size = getimagesize(ROOT_DIR . $file_name);
                         $size_img = ', ' . $size[0] . 'x' . $size[1] . 'px';
                     } else {
                         $size_img = '';
                     }
                     page::assign('file.name', system::fileName($file_name));
                     page::assign('file.url', $file_name);
                     page::assign('file.ext', system::fileExt($file_name));
                     page::assign('file.size', round($info[7] / 1024, 0) . ' Кбайт' . $size_img);
                     $items .= page::parse($TEMPLATE['files']);
                 }
             }
             page::assign('files', $items);
             return page::parse($TEMPLATE['frame_view']);
         } else {
             page::assign('value', $value);
             page::assign('sname', $field_name);
             return page::parse($TEMPLATE['frame_add']);
         }
     }
 }