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 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; }