/** * @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; } } }
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; } }
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(); } } }
/** * @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']); } } }