protected function handle_file_upload($uploaded_file, $name, $size, $type, $error) { if (!is_dir($this->options['upload_dir']) and (ACTION == "gallery" or ACTION == "files") and (strpos($this->options['upload_dir'], "/" . CONTENT_FILES_DIR_NAME) > 0 or strpos($this->options['upload_dir'], "/" . PREVIEW_DIR_NAME) > 0) and true !== ($tmp = mkdirMulti($this->options['upload_dir']))) { $error = $tmp; } $file = new stdClass(); $file->name = $this->trim_file_name($name, $type); $file->size = intval($size); $file->type = $type; $error = $this->has_error($uploaded_file, $file, $error); if (!$error && $file->name) { $file_path = $this->options['upload_dir'] . "." . $file->name; $append_file = !$this->options['discard_aborted_uploads'] && is_file($file_path) && $file->size > filesize($file_path); clearstatcache(); if ($uploaded_file && is_uploaded_file($uploaded_file)) { // multipart/formdata uploads (POST method uploads) if ($append_file) { file_put_contents($file_path, fopen($uploaded_file, 'r'), FILE_APPEND); } else { move_uploaded_file($uploaded_file, $file_path); } } else { // Non-multipart uploads (PUT method support) file_put_contents($file_path, fopen('php://input', 'r'), $append_file ? FILE_APPEND : 0); } $file_size = filesize($file_path); if ($file_size === $file->size) { if (is_file($this->options['upload_dir'] . $file->name)) { unlink($this->options['upload_dir'] . $file->name); } rename($file_path, $this->options['upload_dir'] . $file->name); $file_path = $this->options['upload_dir'] . $file->name; global $specialchars; if ($this->options['orient_image']) { $this->orient_image($file_path); } $file->url = $this->options['upload_url'] . $specialchars->replaceSpecialChars($file->name, false); foreach ($this->options['image_versions'] as $version => $options) { if ($this->create_scaled_image($file->name, $options)) { if ($this->options['upload_dir'] !== $options['upload_dir']) { $file->{$version . '_url'} = $options['upload_url'] . $specialchars->replaceSpecialChars($file->name, false); } else { clearstatcache(); $file_size = filesize($file_path); } } } if (ACTION == "gallery") { $file->pixel_w = ""; $file->pixel_h = ""; if (false !== ($getimagesize = $this->is_image($file_path))) { $file->pixel_w = $getimagesize[0]; $file->pixel_h = $getimagesize[1]; } # $this->subtitle->set($file->name,""); $file->subtitle = ""; } setChmod($file_path); } else { if ($this->options['discard_aborted_uploads']) { unlink($file_path); $file->error = 'abort'; } } $file->size = $file_size; $this->set_file_delete_url($file); } else { $file->error = $error; } return $file; }
function changeFromFtp() { global $message; global $specialchars; $success = false; $dirgallery = getDirAsArray(GALLERIES_DIR_REL, "dir"); foreach ($dirgallery as $currentgalerien) { $change = false; if (true !== ($error = setChmod(GALLERIES_DIR_REL . $currentgalerien))) { $message .= returnMessage(false, $error); return; } $test_galerie = $specialchars->replaceSpecialChars($specialchars->rebuildSpecialChars($currentgalerien, false, false), false); if ($test_galerie != $currentgalerien) { $nr = 0; $new_name = $test_galerie; while (in_array($new_name, $dirgallery)) { $new_name = "%23_" . $nr . "_" . $test_galerie; $nr++; } if (true !== ($error = moveFileDir(GALLERIES_DIR_REL . $currentgalerien, GALLERIES_DIR_REL . $new_name))) { $message .= returnMessage(false, $error); return; } $change = true; $currentgalerien = $new_name; } if (!is_dir(GALLERIES_DIR_REL . $currentgalerien . '/' . PREVIEW_DIR_NAME)) { if (true !== ($error = mkdirMulti(GALLERIES_DIR_REL . $currentgalerien . '/' . PREVIEW_DIR_NAME))) { $message .= returnMessage(false, $error); return; } $change = true; } if (!file_exists(GALLERIES_DIR_REL . $currentgalerien . "/texte.conf.php")) { if (false === newConf(GALLERIES_DIR_REL . $currentgalerien . "/texte.conf.php")) { $message .= returnMessage(false, getLanguageValue("gallery_error_subtitle_conf")); return; } $change = true; } $dirimg = getDirAsArray(GALLERIES_DIR_REL . $currentgalerien, "img"); foreach ($dirimg as $currentimg) { if (true !== ($error = setChmod(GALLERIES_DIR_REL . $currentgalerien . "/" . $currentimg))) { $message .= returnMessage(false, $error); return; } $test_img = cleanUploadFile($currentimg); if ($test_img != $currentimg) { $nr = 0; $new_name = $test_img; while (in_array($new_name, $dirimg)) { $new_name = "_" . $nr . "_" . $test_img; $nr++; } if (true !== ($error = moveFileDir(GALLERIES_DIR_REL . $currentgalerien . "/" . $currentimg, GALLERIES_DIR_REL . $currentgalerien . "/" . $new_name))) { $message .= returnMessage(false, $error); return; } $change = true; if (is_file(GALLERIES_DIR_REL . $currentgalerien . '/' . PREVIEW_DIR_NAME . "/" . $currentimg)) { if (true !== ($error = moveFileDir(GALLERIES_DIR_REL . $currentgalerien . '/' . PREVIEW_DIR_NAME . "/" . $currentimg, GALLERIES_DIR_REL . $currentgalerien . '/' . PREVIEW_DIR_NAME . "/" . $new_name))) { $message .= returnMessage(false, $error); return; } $change = true; } } } if ($change) { $success .= "<b>" . $specialchars->rebuildSpecialChars($currentgalerien, false, true) . "</b><br />"; } } if ($success) { $message .= returnMessage(true, getLanguageValue("gallery_messages_from_ftp") . "<br /><br />" . $success); } else { $message .= returnMessage(true, getLanguageValue("gallery_messages_from_ftp_no") . ""); } }
function cat_page_new($name) { if ($name["type"] == "page") { $page_inhalt = ""; if (substr($name["new"], -EXT_LENGTH) != EXT_LINK) { $page_inhalt = "[ueber1|Das ist eine Inhaltsseite]"; } if (true !== ($error = saveContentToPage($page_inhalt, CONTENT_DIR_REL . $name["new"], true))) { return ajax_return("error", false, $error, true, "js-dialog-reload"); } } elseif ($name["type"] == "cat") { if (true !== ($error = mkdirMulti(array(CONTENT_DIR_REL . "/" . $name["new"], CONTENT_DIR_REL . "/" . $name["new"] . "/" . CONTENT_FILES_DIR_NAME)))) { return ajax_return("error", false, $error, true, "js-dialog-reload"); } } return write_sort_list(); }