validate()) { $file = $_POST["file"]; Kohana::log("debug", $file); $pathinfo = pathinfo($file); $watermark_target = $pathinfo["basename"]; if (copy($file, VARPATH . $watermark_target)) { module::set_var("watermark", "watermark_image_path", $watermark_target); unlink($file); $form->success = _("Watermark saved"); } else { // @todo set and error message } } print $form; } public function get_form($user_id) { try { // @todo check for admin user $path = module::get_var("watermark", "watermark_image_path"); $view = new View("watermark_position.html"); if (empty($path)) { // @todo need to do something when there is no watermark } $photo = ORM::factory("item") ->where("type", "photo") ->find_all(1, 0)->current(); // @todo determine what to do if water mark is not set // @todo caclulate the view sizes $view->sample_image = $photo->resize_url(); $scaleWidth = $photo->resize_width / $photo->width; $scaleHeight = $photo->resize_height / $photo->height; $scale = $scaleHeight < $scaleWidth ? $scaleHeight : $scaleWidth; $imageinfo = getimagesize(VARPATH . $path); $view->watermark_height = $imageinfo[1] * $scale; $view->watermark_width = $imageinfo[0] * $scale; $view->watermark_image = url::abs_file("var/" . $path); $current_position = module::get_var("watermark", "watermark_position"); $view->watermark_position_form = watermark::get_watermark_postion_form($current_position); print $view; } catch (Exception $e) { print $e; } } }