public static function StoreImageDerivates($p_object_type, $p_object_id, $p_image) { if ($p_image['error'] !== 0 || self::TestImage($p_image) !== 0) { return false; } foreach (BlogImageHelper::GetImagePaths($p_object_type, $p_object_id) as $dim => $path) { list ($width, $height) = explode('x', $dim); $d_width = $width * 2; $d_height = $height * 2; if (!file_exists(dirname($path))) { $mkdir = ''; foreach (explode('/', dirname($path)) as $k => $dir) { $mkdir .= '/'.$dir; @mkdir($mkdir, 0775); } } $cmd = "convert -resize {$d_width}x -resize 'x{$d_height}<' -resize 50% -gravity center -crop {$width}x{$height}+0+0 +repage {$p_image['tmp_name']} $path"; system($cmd, $return_value); $all_right = $return_value || $all_right; if ($return_value == 0) { $success[] = $width.'x'.$height; } else { $failed[] = $width.'x'.$height; } } if (function_exists('camp_html_add_msg')) { if (is_array($success)) { camp_html_add_msg(getGS('Created image derivate(s): $1', implode(', ', $success)), 'ok'); } if (is_array($failed)) { camp_html_add_msg(getGS('Failed to create image derivate(s): $1', implode(', ', $failed)), 'error'); } } return $all_right; }
function store($p_admin, $p_user_id=null) { require_once 'HTML/QuickForm.php'; $mask = $this->_getFormMask($p_admin); $form = new html_QuickForm('blog_entry', 'post', '', null, null, true); FormProcessor::parseArr2Form($form, $mask); if ($form->validate() && SecurityToken::isValid()){ $data = $form->getSubmitValues(true); foreach ($data['BlogEntry'] as $k => $v) { // clean user input if (!in_array($k, self::$m_html_allowed_fields)) { $data['BlogEntry'][$k] = htmlspecialchars_array($v); } } if ($data['f_entry_id']) { foreach ($data['BlogEntry'] as $k => $v) { if (is_array($v)) { foreach($v as $key => $value) { if ($value) { $string .= "$key, "; } } $v = substr($string, 0, -2); unset ($string); } $this->setProperty($k, $v); } if ($data['BlogEntry_Image_remove']) { BlogImageHelper::RemoveImageDerivates('entry', $data['f_entry_id']); } if ($data['BlogEntry_Image']) { BlogImageHelper::StoreImageDerivates('entry', $data['f_entry_id'], $data['BlogEntry_Image']); } Blog::TriggerCounters(self::GetBlogId($data['f_entry_id'])); return true; } elseif ($this->create( $data['f_blog_id'], $p_user_id, $data['BlogEntry']['title'], $data['BlogEntry']['content'], $data['f_mood_id'])) { // admin and owner can override status setting if ($data['BlogEntry']['status']) { $this->setProperty('status', $data['BlogEntry']['status']); } if ($p_admin && $data['BlogEntry']['admin_status']) { $this->setProperty('admin_status', $data['BlogEntry']['admin_status']); } if ($data['BlogEntry_Image']) { BlogImageHelper::StoreImageDerivates('entry', $this->getProperty('entry_id'), $data['BlogEntry_Image']); } Blog::TriggerCounters($this->getProperty('fk_blog_id')); return true; } } return false; }
function store($p_admin, $p_user_id=null) { require_once 'HTML/QuickForm.php'; $mask = $this->getFormMask($p_admin); $form = new html_QuickForm('blog', 'post', '', null, null, true); FormProcessor::parseArr2Form($form, $mask); if ($form->validate() && SecurityToken::isValid()){ $data = $form->getSubmitValues(true); foreach ($data['Blog'] as $k => $v) { // clean user input if (!in_array($k, self::$m_html_allowed_fields)) { $data['Blog'][$k] = htmlspecialchars_array($v); } } if ($data['f_blog_id']) { foreach ($data['Blog'] as $k => $v) { $this->setProperty($k, $v); } if ($data['Blog_Image_remove']) { BlogImageHelper::RemoveImageDerivates('blog', $data['f_blog_id']); } if ($data['Blog_Image']) { BlogImageHelper::StoreImageDerivates('blog', $data['f_blog_id'], $data['Blog_Image']); } return true; } elseif ($this->create( isset($p_user_id) ? $p_user_id : $data['Blog']['fk_user_id'], $data['Blog']['fk_language_id'], $data['Blog']['title'], $data['Blog']['info'], $data['Blog']['request_text'], $data['Blog']['feature'])) { if ($data['Blog']['status']) { $this->setProperty('status', $data['Blog']['status']); } if ($p_admin && $data['Blog']['admin_status']) { $this->setProperty('admin_status', $data['Blog']['admin_status']); } if ($p_admin && $data['Blog']['admin_remark']) { $this->setProperty('admin_remark', $data['Blog']['admin_remark']); } if ($data['Blog_Image']) { BlogImageHelper::StoreImageDerivates('blog', $this->getProperty('blog_id'), $data['BlogEntry_Image']); } return true; } } return false; }