示例#1
0
 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;
 }
示例#2
0
 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);
 }