예제 #1
0
파일: M_Mail.php 프로젝트: Ivan-up/devblog
 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 upload_img_base64($name, $value)
 {
     $types = M_Files::Instance()->set_type('image')->get_allow_types();
     $ext_file = M_Files::get_extention_file($name);
     if (!array_key_exists($ext_file, $types)) {
         return false;
     }
     $filename = M_Files::generate_file_name($ext_file, $this->imgDir);
     if (!$this->move_upload_base64($value, $filename)) {
         return false;
     }
     $id = $this->db->Insert('mediafile', array('name' => $filename));
     return $id;
 }