public function addmail($fields, $files) { $this->errors = array(); $mFiles = M_Files::Instance(); if (!$files['htmlfile']['name'] || M_Files::get_extention_file($files['htmlfile']['name']) != 'html') { $this->errors['htmlfile'] = 'Не выбран html файл или неверный формат'; } if (!$files['txtfile']['name'] || M_Files::get_extention_file($files['txtfile']['name']) != 'txt') { $this->errors['txtfile'] = 'Не выбран txt файл или неверный формат'; } if (!empty($this->errors)) { return false; } $mailid = parent::add($fields); if (!$mailid) { return false; } $folder = SITE_ROOT . '/' . MAILING_DIR . (int) $fields['listid'] . '/'; @mkdir($folder, 0700); $folder .= $mailid . '/'; @mkdir($folder, 0700); $html = $mFiles->upload_file($files['htmlfile'], $folder, null, array('html' => array('text/html')), 'index'); //rename($folder.$html, $folder.'index.html'); $txt = $mFiles->upload_file($files['txtfile'], $folder, null, array('txt' => array('text/plain')), 'text'); //rename($folder.$txt, $folder.'text.txt'); $image = array(); $images = array(); $i = 0; while ($files['images']['name'][$i] && $files['images']['tmp_name'][$i] != 'none') { $image['name'] = $files['images']['name'][$i]; $image['type'] = $files['images']['type'][$i]; $image['tmp_name'] = $files['images']['tmp_name'][$i]; $image['error'] = $files['images']['error'][$i]; $image['size'] = $files['images']['size'][$i]; $img_new_name = M_Files::get_name_without_ext($image['name']); $file = $mFiles->set_type('image')->upload_file($image, $folder, null, null, $img_new_name); $filename = isset($file['name']) ? $file['name'] : ''; if ($filename && ($size = getimagesize($folder . $filename))) { $images[] = array('name' => $filename, 'mime' => $size['mime']); } ++$i; } if (!empty($images)) { $this->edit($mailid, array('images' => base64_encode(serialize($images)))); } return true; }
public function addFile($files, $type, $fields = array()) { $path = ""; switch ($type) { case 'audio': $path = $this->audioDir; break; case 'video': $path = $this->videoDir; break; } if (empty($path)) { return false; } $folder = SITE_ROOT . '/' . $path; $mFiles = M_Files::Instance()->set_type($type); $_file = $mFiles->upload_file($files, $folder); if (!$_file) { $this->errors['file_error'] = $mFiles->error(); return false; } $file['name'] = $_file['name']; $file['type'] = $type; //$title = mb_substr($files['name'], 0, (int)mb_strrpos($files['name'], '.')); $title = M_Files::get_name_without_ext($files['name']); $file['title'] = isset($field['title']) ? $field['title'] : $title; return parent::add($file); }