/** * 构造方法 * * @access publid * @return boolean */ public function __construct() { $this->_htmlPath = CACHE_PATH . 'htmls' . DIRECTORY_SEPARATOR; $this->_isWrite = false; File::makeDir($this->_htmlPath); return true; }
public static function makeDir($path = '') { $path = app()->cachePath() . $path; parent::makeDir($path); chmod($path, 0777); }
/** * Attach a file to a post * * @param int $post_id Post's id * @param string $filepath Path of the tmp file * @param string $thumbpath Path of the thumb (optional) */ public function attachFile($post_id, $filepath, $name, $thumbpath = null, $mobilepath = null) { $ext = strtolower(File::getExtension($filepath)); // In the DB $file_id = DB::createQuery('attachments')->set(array('post_id' => $post_id, 'name' => $name, 'ext' => $ext))->insert(); // File, and optionally thumb $newfilepath = self::getAttachedFilePath($file_id, $ext); if (!File::exists(File::getPath($newfilepath))) { File::makeDir(File::getPath($newfilepath), 0777, true); } File::rename($filepath, $newfilepath); if (isset($thumbpath)) { File::rename($thumbpath, self::getAttachedFilePath($file_id, 'jpg', 'thumb')); } if (isset($mobilepath)) { File::rename($mobilepath, self::getAttachedFilePath($file_id, 'jpg', 'mobile')); } }
throw new Exception($avatars_tmp_path . ' not found!'); } $students = DB::createQuery('students')->fields('student_number', 'firstname', 'lastname')->select(); foreach ($students as $student) { try { $avatar_path = Student_Model::getAvatarPath((int) $student['student_number']); $avatar_thumb_path = Student_Model::getAvatarPath((int) $student['student_number'], true); if (file_exists($avatar_path)) { continue; } $original_path = $avatars_tmp_path . '/' . $student['student_number'] . '.jpg'; if (!file_exists($original_path)) { throw new Exception('Photo of the student n°' . $student['student_number'] . ' (' . $student['firstname'] . ' ' . $student['lastname'] . ') not found!'); } $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::copy($original_path, $avatar_path); // Thumb $img = new Image(); $img->load($original_path); $img->thumb(Config::$AVATARS_THUMBS_SIZES[0], Config::$AVATARS_THUMBS_SIZES[1]); $img->save($avatar_thumb_path); } catch (Exception $e) { echo $e->getMessage() . "\n"; } } } catch (Exception $e) { echo $e->getMessage(); }
/** * Save the data of a student * * @param string $username student's username * @param array $data student's data */ public function save($username, $data) { $student_data = array(); $old_data = DB::createQuery('students')->fields('firstname', 'lastname', 'student_number')->where(array('username' => $username))->select(); if (!$old_data[0]) { throw new Exception('Student not found'); } $old_data = $old_data[0]; $change_name = false; // Firstname if (isset($data['firstname']) && $old_data['firstname'] != trim($data['firstname'])) { if (trim($data['firstname']) == '') { throw new FormException('firstname'); } $student_data['firstname'] = trim($data['firstname']); $change_name = true; } // Lastname if (isset($data['lastname']) && $old_data['lastname'] != trim($data['lastname'])) { if (trim($data['lastname']) == '') { throw new FormException('lastname'); } $student_data['lastname'] = trim($data['lastname']); $change_name = true; } // Student number if (isset($data['student_number'])) { if (!ctype_digit(trim($data['student_number']))) { throw new FormException('student_number'); } $student_data['student_number'] = (int) trim($data['student_number']); // Moving the avatar if ($student_data['student_number'] != $old_data['student_number']) { // Thumb $avatar_path = self::getAvatarPath($student_data['student_number'], true); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename(self::getAvatarPath($old_data['student_number'], true), $avatar_path); // Big $avatar_path = self::getAvatarPath($student_data['student_number'], false); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename(self::getAvatarPath($old_data['student_number'], false), $avatar_path); } } // Promo if (isset($data['promo'])) { if (!ctype_digit(trim($data['promo'])) || (int) $data['promo'] < 2000) { throw new FormException('promo'); } $student_data['promo'] = (int) trim($data['promo']); } // Cesure if (isset($data['cesure'])) { $student_data['cesure'] = $data['cesure'] ? 1 : 0; } // Avatar if (isset($data['avatar_path']) && isset($data['student_number']) && File::exists($data['avatar_path'])) { $avatar_path = self::getAvatarPath((int) $data['student_number'], true); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($data['avatar_path'], $avatar_path); } if (isset($data['avatar_big_path']) && isset($data['student_number']) && File::exists($data['avatar_big_path'])) { $avatar_path = self::getAvatarPath((int) $data['student_number'], false); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($data['avatar_big_path'], $avatar_path); } // Update the DB $this->createQuery()->set($student_data)->where(array('username' => $username))->update(); if ($change_name) { Post_Model::clearCache(); // Update the search index $search_model = new Search_Model(); $search_model->index(array('username' => $username, 'firstname' => Search_Model::sanitize(isset($student_data['firstname']) ? $student_data['firstname'] : $old_data['firstname']), 'lastname' => Search_Model::sanitize(isset($student_data['lastname']) ? $student_data['lastname'] : $old_data['lastname'])), 'student', $username); } }
public function index() { $this->setView('index.php'); $is_logged = isset(User_Model::$auth_data); $is_student = $is_logged && isset(User_Model::$auth_data['student_number']); $is_admin = $is_logged && User_Model::$auth_data['admin'] == '1'; $this->set(array('username' => User_Model::$auth_data['username'], 'is_logged' => $is_logged, 'is_student' => $is_student, 'is_admin' => $is_admin)); //Fonction qui met à jour l'annuaire dans mysql et ajoute les avatars //$uploaded_files=array(); if (isset($_FILES['uploadzip'])) { if ($_FILES['uploadzip']['size'] > Config::UPLOAD_MAX_SIZE_FILE) { throw new Exception(__('POST_ADD_ERROR_FILE_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_FILE)))); } //On déplace le fichier zipper vers le serveur if ($filepaths = File::upload('uploadzip')) { // foreach($filepaths as $filepath) // $uploaded_files[] = $filepath; //foreach($filepaths as $i => $filepath){ if (!preg_match('#\\.zip$#', $filepaths)) { throw new Exception(__('POST_ADD_ERROR_FILE_FORMAT')); } $name = $filepaths; //} } $path = DATA_DIR . Config::DIR_DATA_TMP . 'annuaire/'; // On dézip celui-ci if (FILE::exists($path)) { FILE::delete($path); } File::makeDir($path); $zip = new ZipArchive(); $res = $zip->open($name); if ($res === TRUE) { $zip->extractTo($path); $zip->close(); unlink($name); } else { throw new Exception(__('ADMIN_POST_ZIPERROR')); } if (File::delete(DATA_DIR . Config::DIR_DATA_TMP . $name)) { // On aplique le chmod a tous les dossiers et fichiers du zip FILE::chmodDirectory($path, 0); // on traite les fichiers students.csv et users.csv if (file_exists($path . 'users.csv')) { $fp = fopen($path . 'users.csv', "r"); } else { throw new Exception(__('ADMIN_POST_CSVERROR1')); } $i = 0; while (!feof($fp)) { $i = $i + 1; // Tant qu'on n'atteint pas la fin du fichier $ligne = fgets($fp, 4096); /* On lit une ligne */ // On récupère les champs séparés par ; dans liste $liste = explode(";", $ligne); // On assigne les variables if (strlen($liste[0]) > 1) { if (isset($liste[0])) { $username = $liste[0]; } if (isset($liste[1])) { $admin = $liste[1]; } if (isset($liste[2])) { $mail = $liste[2]; } if (isset($liste[3])) { $msn = $liste[3]; } if (isset($liste[4])) { $jabber = $liste[4]; } if (isset($liste[5])) { $address = $liste[5]; } if (isset($liste[6])) { $zipcode = $liste[6]; } if (isset($liste[7])) { $city = $liste[7]; } if (isset($liste[8])) { $cellphone = $liste[8]; } if (isset($liste[9])) { $phone = $liste[9]; } if (isset($liste[10])) { $birthday = $liste[10]; } if (!$this->model->checkuser($username, 1)) { $this->model->insertUsers(trim($username), trim($admin), trim($mail), trim($msn), trim($jabber), trim($address), trim($zipcode), trim($city), trim($cellphone), trim($phone), trim($birthday)); } } } fclose($fp); if (file_exists($path . 'students.csv')) { $fp = fopen($path . 'students.csv', "r"); } else { throw new Exception(__('ADMIN_POST_CSVERROR2')); } $i = 0; while (!feof($fp)) { $i = $i + 1; // Tant qu'on n'atteint pas la fin du fichier $ligne = fgets($fp, 4096); /* On lit une ligne */ // On récupère les champs séparés par ; dans liste $liste = explode(";", $ligne); // On assigne les variables if (strlen($liste[0]) > 1) { if (isset($liste[0])) { $username = $liste[0]; } if (isset($liste[1])) { $lastname = $liste[1]; } if (isset($liste[2])) { $firstname = $liste[2]; } if (isset($liste[3])) { $student_number = $liste[3]; } if (isset($liste[4])) { $promo = $liste[4]; } if (isset($liste[5])) { $cesure = $liste[5]; } if (!$this->model->checkuser($username, 2)) { $this->model->insertStudents(trim($username), trim($lastname), trim($firstname), trim($student_number), trim($promo), trim($cesure)); } // On déplace et formate les photos dans le dossier avatars $avatarpath = $path . 'photos_students/' . $student_number . '.jpg'; $img = new Image(); $img->load($avatarpath); $type = $img->getType(); if ($type == IMAGETYPE_JPEG) { $ext = 'jpg'; } else { if ($type == IMAGETYPE_GIF) { $ext = 'gif'; } else { if ($type == IMAGETYPE_PNG) { $ext = 'png'; } else { throw new Exception(); } } } if ($img->getWidth() > 800) { $img->setWidth(800, true); } $img->setType(IMAGETYPE_JPEG); $img->save($avatarpath); // Thumb $avatarthumbpath = $path . 'photos_students/' . $student_number . '_thumb.jpg'; $img->thumb(Config::$AVATARS_THUMBS_SIZES[0], Config::$AVATARS_THUMBS_SIZES[1]); $img->setType(IMAGETYPE_JPEG); $img->save($avatarthumbpath); if (FILE::exists(DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/')) { FILE::move($avatarthumbpath, DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/'); FILE::move($avatarpath, DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/'); } else { FILE::makeDir(DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/'); FILE::move($avatarthumbpath, DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/'); FILE::move($avatarpath, DATA_DIR . Config::DIR_DATA_STORAGE . 'avatars/' . substr($student_number, 0, -2) . '/'); } unset($img); } } fclose($fp); // On supprime le tout du dossier temp FILE::delete($path); } } }
public function usersPage($param) { $this->setView('users.php'); /* * Enregistrement du post dans la table users */ if (isset($_FILES['uploadxml1']) && $_FILES['uploadxml1']['name'] != null) { if ($_FILES['uploadxml1']['size'] > Config::UPLOAD_MAX_SIZE_FILE) { throw new Exception(__('POST_ADD_ERROR_FILE_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_FILE)))); } //On déplace le fichier vers le serveur if ($filepaths = File::upload('uploadxml1')) { if (!preg_match('#\\.xml$#', $filepaths)) { throw new Exception(__('POST_ADD_ERROR_FILE_FORMAT')); } $name = $filepaths; } $student = array(); $path = DATA_DIR . Config::DIR_DATA_TMP . $_FILES['uploadxml1']['name']; if (file_exists($path)) { $data = simplexml_load_file($path); foreach ($data->data as $data) { if (isset($data->username) && isset($data->admin) && isset($data->mail) && isset($data->msn) && isset($data->jabber) && isset($data->address) && isset($data->address) && isset($data->zipcode) && isset($data->city) && isset($data->cellphone) && isset($data->phone) && isset($data->birthday)) { $username = $data->username; $admin = $data->admin; $mail = $data->mail; $msn = $data->msn; $jabber = $data->jabber; $address = $data->address; $zipcode = $data->zipcode; $city = $data->city; $cellphone = $data->cellphone; $phone = $data->phone; $birthday = $data->birthday; if (!$this->model->checkuser($username, 1)) { $this->model->insertUsers($username, $admin, utf8_decode($mail), utf8_decode($msn), utf8_decode($jabber), utf8_decode($address), $zipcode, $city, $cellphone, $phone, $birthday); } else { array_push($student, $username); } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR2')); } } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR')); } FILE::delete($path); $this->set('fail', $student); } /* * Enregistrement du post dans la table students */ if (isset($_FILES['uploadxml2']) && $_FILES['uploadxml2']['name'] != null) { if ($_FILES['uploadxml2']['size'] > Config::UPLOAD_MAX_SIZE_FILE) { throw new Exception(__('POST_ADD_ERROR_FILE_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_FILE)))); } if ($filepaths = File::upload('uploadxml2')) { if (!preg_match('#\\.xml$#', $filepaths)) { throw new Exception(__('POST_ADD_ERROR_FILE_FORMAT')); } $name = $filepaths; } $student = array(); $path = DATA_DIR . Config::DIR_DATA_TMP . $_FILES['uploadxml2']['name']; if (file_exists($path)) { $data = simplexml_load_file($path); foreach ($data->data as $data) { if (isset($data->username) && isset($data->lastname) && isset($data->firstname) && isset($data->student_number) && isset($data->promo) && isset($data->cesure)) { $username = $data->username; $lastname = $data->lastname; $firstname = $data->firstname; $student_number = $data->student_number; $promo = $data->promo; $cesure = $data->cesure; if (!$this->model->checkuser($username, 2)) { $this->model->insertStudents($username, utf8_decode($lastname), utf8_decode($firstname), $student_number, $promo, $cesure); } else { array_push($student, $username); } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR2')); } } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR')); } FILE::delete($path); $this->set('fail', $student); } /* * Enregistrement des avatars */ if (isset($_FILES['avatar_photo']) && is_array($_FILES['avatar_photo']['name'])) { foreach ($_FILES['avatar_photo']['size'] as $size) { if ($size > Config::UPLOAD_MAX_SIZE_PHOTO) { throw new Exception(__('POST_ADD_ERROR_PHOTO_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_PHOTO)))); } } $student = array(); if ($avatarpaths = File::upload('avatar_photo')) { foreach ($avatarpaths as $avatarpath) { $uploaded_files[] = $avatarpath; } foreach ($avatarpaths as $i => $avatarpath) { $name = $_FILES['avatar_photo']['name'][$i]; try { $img = new Image(); $img->load($avatarpath); $type = $img->getType(); if ($type == IMAGETYPE_JPEG) { $ext = 'jpg'; } else { if ($type == IMAGETYPE_GIF) { $ext = 'gif'; } else { if ($type == IMAGETYPE_PNG) { $ext = 'png'; } else { throw new Exception(); } } } if ($img->getWidth() > 800) { $img->setWidth(800, true); } $img->setType(IMAGETYPE_JPEG); $img->save($avatarpath); // Thumb $avatarthumbpath = $avatarpath . '.thumb'; $img->thumb(Config::$AVATARS_THUMBS_SIZES[0], Config::$AVATARS_THUMBS_SIZES[1]); $img->setType(IMAGETYPE_JPEG); $img->save($avatarthumbpath); unset($img); $uploaded_files[] = $avatarthumbpath; $student_data['avatar_path'] = $avatarthumbpath; $student_data['avatar_big_path'] = $avatarpath; $student_data['student_number'] = preg_replace('/\\.[a-z0-9]+$/i', '', $name); if (isset($student_data['avatar_path']) && isset($student_data['student_number']) && File::exists($student_data['avatar_path'])) { $avatar_path = Student_Model::getAvatarPath((int) $student_data['student_number'], true); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($student_data['avatar_path'], $avatar_path); } if (isset($student_data['avatar_big_path']) && isset($student_data['student_number']) && File::exists($student_data['avatar_big_path'])) { $avatar_path = Student_Model::getAvatarPath((int) $student_data['student_number'], false); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($student_data['avatar_big_path'], $avatar_path); } } catch (Exception $e) { array_push($student, $name); } } $this->set('fail2', $student); foreach ($uploaded_files as $uploaded_file) { File::delete($uploaded_file); } } } }
/** * Create a group * * @param array $data Group's data * @return string URL name */ public function create($data) { $group_data = array(); // Name $change_name = false; if (!isset($data['name'])) { throw new FormException('invalid_name'); } $name = trim($data['name']); $group_data['name'] = $name; // URL name $url_name = Text::forURL($name); if ($url_name == '') { throw new FormException('invalid_name'); } $i = ''; while (self::urlExists($url_name . $i)) { $i = $i == '' ? 1 : $i + 1; } $url_name .= $i; $group_data['url_name'] = $url_name; // Creation date if (!isset($data['creation_date']) || !($creation_date = strptime($data['creation_date'], __('GROUP_EDIT_FORM_CREATION_DATE_FORMAT_PARSE')))) { throw new FormException('invalid_creation_date'); } $group_data['creation_date'] = $creation_date['tm_year'] + 1900 . '-' . ($creation_date['tm_mon'] + 1) . '-' . $creation_date['tm_mday']; // Email if (isset($data['mail'])) { if ($data['mail'] != '' && !Validation::isEmail($data['mail'])) { throw new FormException('invalid_mail'); } $group_data['mail'] = $data['mail']; } // Description if (isset($data['description'])) { $group_data['description'] = $data['description']; } // Avatar if (!isset($data['avatar_path']) || !File::exists($data['avatar_path']) || !isset($data['avatar_big_path']) && !File::exists($data['avatar_big_path'])) { throw new FormException('avatar'); } // Insertion in the DB $id = $this->createQuery()->set($group_data)->insert(); // Avatar $avatar_path = self::getAvatarPath($id, true); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($data['avatar_path'], $avatar_path); $avatar_path = self::getAvatarPath($id, false); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($data['avatar_big_path'], $avatar_path); // Members if (isset($data['members']) && is_array($data['members'])) { $i = 0; foreach ($data['members'] as &$member) { $member['order'] = $i++; } if (count($data['members']) != 0) { $users = DB::createQuery('users')->fields('id')->where('id IN (' . implode(',', array_keys($data['members'])) . ')')->select(); foreach ($users as $user) { DB::createQuery('groups_users')->set(array('group_id' => $id, 'user_id' => $user['id'], 'title' => $data['members'][(int) $user['id']]['title'], 'admin' => $data['members'][(int) $user['id']]['admin'] ? '1' : '0', 'order' => $data['members'][(int) $user['id']]['order']))->insert(); } } } // Add to the search index $search_model = new Search_Model(); $search_model->index(array('name' => Search_Model::sanitize($group_data['name']), 'url_name' => $group_data['url_name'], 'description' => Search_Model::sanitize($group_data['description'])), 'group', $id); self::clearCache(); return $url_name; }
static function CompleteStructure() { define("PAGE_ID", isset($_GET['PageID']) ? $_GET['PageID'] : ""); switch (PAGE_ID) { case 'FileEditor': define("DIRECTORY", !is_file($_GET['directory']) ? Others::redirect("?") : realpath(urldecode($_GET['directory']))); define("EDIRECTORY", urlencode(DIRECTORY)); define("ODIRECTORY", dirname(DIRECTORY)); unset($dirName); define("FILEINODE", fileinode(DIRECTORY)); define("FILENAME", basename(DIRECTORY)); define("FILEBYTE", filesize(DIRECTORY)); define("FILECTIME", filectime(DIRECTORY)); define("FILEATIME", fileatime(DIRECTORY)); define("FILEOWNER", fileowner(DIRECTORY)); define("FILETYPE", strtolower(substr(strrchr(FILENAME, "."), 1))); if (FILEBYTE / 1024 > 1024) { die('Dosya çok büyük <button onClick="javascript:window.close();">Kapat</button>'); } if (isset($_POST['fileContents']) && is_string($_POST['fileContents'])) { file_put_contents(DIRECTORY, urldecode($_POST['fileContents'])); Others::redirect(URLm::url("fileEditor", array("file" => DIRECTORY))); } Page::write("editor", array("Title" => "Dosya.Düzenle \"" . FILENAME . "\"", "CSSFile" => Settings::get("CSSFilePath"), "File" => DIRECTORY)); break; default: if (isset($_GET['directory']) && !is_dir($_GET['directory'])) { Others::redirect("?"); } if (isset($_GET['directory']) && is_dir($_GET['directory'])) { $directoryPath = (string) $_GET['directory']; } elseif (isset($_SERVER['DOCUMENT_ROOT']) && is_dir($_SERVER['DOCUMENT_ROOT'])) { $directoryPath = $_SERVER['DOCUMENT_ROOT']; } else { $directory = "."; } define("DIRECTORY", realpath($directoryPath)); define("EDIRECTORY", urlencode(DIRECTORY)); if (isset($_REQUEST['procName']) && isset($_REQUEST['filesArray'])) { $filesExp = explode("{}", $_REQUEST['filesArray']); $var = (string) $_REQUEST['variable']; switch ($_REQUEST['procName']) { case 'Move': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd) || is_file(DIRECTORY . "/" . $dd)) { rename(DIRECTORY . "/" . $dd, $var . "/" . $dd); } } break; case 'Copy': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd)) { File::copyDirectory(DIRECTORY . "/" . $dd, $var . "/" . $dd); } elseif (is_file(DIRECTORY . "/" . $dd)) { copy(DIRECTORY . "/" . $dd, $var . "/" . $dd); } } break; case 'CHMOD': foreach ($filesExp as $dd) { if ($var >= 0 && $var <= 777) { chmod(DIRECTORY . "/" . $dd, $var); } } break; case 'Delete': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd)) { File::deleteDirectory(DIRECTORY . "/" . $dd); } elseif (is_file(DIRECTORY . "/" . $dd)) { unlink(DIRECTORY . "/" . $dd); } } } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } if (isset($_GET['proc'])) { switch ($_GET['proc']) { case 'move': if ($_GET['var'] != "") { rename(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } break; case 'copy': if ($_GET['var'] != "") { File::copyDirectory(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } break; case 'create': if ($_GET['var'] != "") { $exp = explode(":", $_GET['var']); switch ($exp['0']) { case 'f': File::makeFile(DIRECTORY . "/" . $exp[1]); break; case 'd': if ($exp[1] != 0 && $exp[1] != null) { File::makeDir(DIRECTORY . "/" . $exp[1], intval($exp[2])); } else { File::forceDirectory(DIRECTORY . "/" . $exp[1]); } } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } break; case 'jump': if ((string) $_GET['var'] != "") { $var = $_GET['var']; if (is_file($var)) { Others::redirect(URLm::url("fileView", array("filePath" => realpath($var)))); } elseif (is_dir($var)) { Others::redirect(URLm::url("folderView", array("dir" => realpath($var)))); } } break; case 'delete': if (DIRECTORY != realpath($_SERVER['DOCUMENT_ROOT'])) { File::deleteDirectory(DIRECTORY); } $dirName = explode("/", DIRECTORY); array_pop($dirName); $dirName = implode("/", $dirName); Others::redirect(URLm::url("folderView", array("dir" => $dirName))); break; case 'addFav': if ((string) $_GET['var'] != "") { DBLite::addFavorite($_GET['var'], DIRECTORY); } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); break; case 'deleteFav': DBLite::deleteFavorite(DIRECTORY); Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); break; case 'compress': if ((string) $_GET['var'] != "") { $zip = new ZipArchive(); if (!$zip->open($_GET['var'], ZipArchive::OVERWRITE)) { Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); exit; } foreach (File::getFileList(DIRECTORY, array("method" => "explode")) as $File) { $FullPath = str_replace(dirname(DIRECTORY) . "/", "", $File); $zip->addFile($File, $FullPath); } $zip->addFromString("CreatedBy", "This zip file created by OOP File Manager\n\n\t- vtWebApp ®\n\t- veli.tasali@gmail.com"); $zip->close(); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'iFile': $var = (string) $_REQUEST['var']; if ($var != "") { set_time_limit(5000); $url = parse_url($var); $fName = $url['path'] == "" ? $url['host'] . "_file_" . time() : $url['path']; $fName = preg_replace("/([^a-zA-Z0-9._-])/si", "", $fName); touch(DIRECTORY . "/" . $fName); // $write = fopen(DIRECTORY."/".$fName); $dt = fopen(urldecode($var), "rb"); if (is_file(DIRECTORY . "/" . $fName)) { fseek($dt, filesize(DIRECTORY . "/" . $fName)); } if ($dt) { while (!feof($dt)) { file_put_contents(DIRECTORY . "/" . $fName, fread($dt, 8192), FILE_APPEND); } fclose($dt); } // $source = Others::quickCurl(urldecode($var)); Others::redirect(URLm::url("fileView", array("filePath" => DIRECTORY . "/" . $fName))); } unset($var); } } if (DBLite::isFavorite(DIRECTORY)) { $Shortcuts = '<a href="' . URLm::url("proc", array("dir" => DIRECTORY, "procName" => "deleteFav")) . '">Fav. Çıkart</a>'; } else { $Shortcuts = '<a href="javascript:sendPrompt(\'Favori Adı Belirleyin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "addFav")) . '\', {value: \'' . basename(DIRECTORY) . '\'});">Fav. Ekle</a>'; } $Shortcuts .= ' <a href="' . URLm::url("upload", array("dir" => DIRECTORY)) . '">Yükle</a> <a href="javascript:sendPrompt(\'Bir dosya belirtin.\\n* Kısır döngüleri önlemek için aynı klasörler ile çakıştırmayın\\n\\nDosya: /sdcard/Dosya.zip\\nSıkıştır: /sdcard \\nYukarıdaki gibi bir durum kısır döngüye yol açabilir\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "compress")) . '\', {value: \'' . DIRECTORY . '.zip' . '\'});">Sıkıştır</a> <a href="javascript:sendPrompt(\'Başka sunuculardan dosya indirin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "iFile")) . '\', {value:\'http://\', urlEncode: true});">i-Dosya</a> <a href="javascript:sendPrompt(\'Şu Dosya Yoluna Atla\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "jump")) . '\', {value: \'' . DIRECTORY . '\', urlEncode: true});">Atla</a> <a href="javascript:checkConfirm(\'Bu klasörü silmek üzeresiniz\\n' . DIRECTORY . '\', \'' . URLm::url("proc", array("dir" => DIRECTORY, "procName" => "delete")) . '\');">Sil</a> <a href="javascript:sendPrompt(\'Kopyala\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "copy")) . '\', {value: \'' . DIRECTORY . '-Copy\', urlEncode: true});">Kopyala</a> <a href="javascript:sendPrompt(\'Taşı: \\nYeni tam klasör yolunu girin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "move")) . '\', {value: \'' . DIRECTORY . '\', urlEncode: true});">Taşı</a> <a href="javascript:sendPrompt(\'f - Dosya , d - Klasör\\nÖrnek: f:dosya_adi\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "create")) . '\', {value: \'\'});">Oluştur</a> '; $favsRes = DBLite::query("SELECT * FROM `favorites`"); if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { $Favorites = null; while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } Page::write("Top", array("Title" => "Klasör \"" . basename(DIRECTORY) . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "FileManager v1.0", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_FREE)) . "%")))))); $files = array(); $folders = array(); if (is_readable(DIRECTORY)) { $openDir = opendir(DIRECTORY); while ($Name = readdir($openDir)) { $fName = DIRECTORY . "/" . $Name; if ($Name == "." || $Name == "..") { continue; } if (is_file($fName)) { $files[] = $Name; } if (is_dir($fName)) { $folders[] = $Name; } } } $Counter = array("files" => count($files), "folders" => count($folders)); $Counter['total'] = $Counter['files'] + $Counter['folders']; if ($Counter['total'] == "") { Html::write("Info", "Bu klasörde içerik bulunmuyor"); } else { echo Html::writef("Title", array("Title" => basename(DIRECTORY) != "" ? strtoupper(basename(DIRECTORY)) : "İsim Yok")); } echo ' <script>Selector.PRO_FOLDER = "' . DIRECTORY . '";</script> <form name="multiProc" action="' . URLm::url("folderView", array("dir" => DIRECTORY)) . '" method="post"> <input type="hidden" name="variable" value="" /> <input type="hidden" name="procName" value="" /> <input type="hidden" name="filesArray" value="" /> '; if ($Counter['folders'] > 0) { sort($folders); foreach ($folders as $folder) { $fDir = DIRECTORY . "/" . $folder; Html::cloneObject("DirList", "currDirItem"); Html::editObject("currDirItem", array("id" => $folder), ARG); if (!is_readable($fDir)) { Html::editObject("currDirItem", array("onMouseOver" => "", "onMouseOut" => ""), ARG); } echo Html::writef("currDirItem", array("dir" => $fDir, "dirname" => $folder, "extras" => '<input type="checkbox" id="input' . $folder . '" name="selected" value="' . $folder . '" onClick="Selector.select(\'' . $folder . '\', Selector.SELECT_AUTO)"/> ')); } } if ($Counter['files'] > 0) { sort($files); foreach ($files as $file) { $fFile = DIRECTORY . "/" . $file; $fileSize = File::sizeExpression(fileSize($fFile)); $fileinfo = pathinfo($fFile); if (isset($fileinfo['extension']) && ($fileinfo['extension'] == "jpg" || $fileinfo['extension'] == "png" || $fileinfo['extension'] == "gif")) { Html::editObject("FileListImg", array("id" => $file), ARG); $isize = getimagesize($fFile); echo Html::writef("FileListImg", array("resolution" => $isize[0] . "x" . $isize[1], "img" => URLm::url("imgCache", array("file" => urlencode($fFile))), "size" => $fileSize, "filename" => $file, "filePath" => $fFile, "extras" => '<input type="checkbox" id="input' . $file . '" name="selected" value="' . $file . '" onClick="Selector.select(\'' . $file . '\', Selector.SELECT_AUTO)"/> ')); } else { Html::editObject("FileList", array("id" => $file), ARG); echo Html::writef("FileList", array("size" => $fileSize, "filename" => $file, "filePath" => $fFile, "extras" => '<input type="checkbox" id="input' . $file . '" name="selected" value="' . $file . '" onClick="Selector.select(\'' . $file . '\', Selector.SELECT_AUTO)"/> ')); } } } $NavigateDir = null; if (is_dir(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } Page::write("Bottom", array("Extras" => '</form>', "DirNavigation" => $NavigateDir)); break; case 'file': define("DIRECTORY", !is_file($_GET['directory']) ? Others::redirect("?") : realpath(urldecode($_GET['directory']))); define("EDIRECTORY", urlencode(DIRECTORY)); $dirName = explode("/", DIRECTORY); array_pop($dirName); define("ODIRECTORY", implode("/", $dirName)); unset($dirName); define("FILEINODE", fileinode(DIRECTORY)); define("FILENAME", basename(DIRECTORY)); define("FILEBYTE", filesize(DIRECTORY)); define("FILECTIME", filectime(DIRECTORY)); define("FILEATIME", fileatime(DIRECTORY)); define("FILEOWNER", fileowner(DIRECTORY)); define("FILETYPE", strtolower(substr(strrchr(FILENAME, "."), 1))); if (isset($_GET['proc'])) { switch ($_GET['proc']) { case 'move': if ($_GET['var'] != "") { rename(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'copy': if ($_GET['var'] != "") { copy(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'delete': unlink(DIRECTORY); Others::redirect(URLm::url("folderView", array("dir" => ODIRECTORY))); break; case 'download': Others::redirect(URLm::url("imgCache", array("file" => DIRECTORY))); break; case 'makeApart': if ($_GET['var'] != "") { $currentKB = FILEBYTE / 1024; $var = (int) $_GET['var']; if ($currentKB > $var && $var > 1) { $parts = array(); $dt = fopen(DIRECTORY, "rd"); $partInfoFile = DIRECTORY . ".partInfo"; touch($partInfoFile); file_put_contents($partInfoFile, "Aparted file notifier. Use this file when unaparting"); for ($i = 0; $i < $currentKB; $i += $var) { if ($i + $var > $currentKB) { $parts[] = $currentKB * 1024; } else { $parts[] = ($i + $var) * 1024; } } foreach ($parts as $pNum => $currSize) { $partFile = DIRECTORY . ".part" . $pNum; touch($partFile); if ($dt) { while (ftell($dt) <= $currSize && !feof($dt)) { file_put_contents($partFile, fread($dt, 8192), FILE_APPEND); } } } fclose($dt); } Others::redirect(URLm::url("fileView", array("filePath" => $partInfoFile))); } break; case 'unapart': $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename']; $presearch = glob($pref . ".part*"); if (is_file($pref)) { rename($pref, $pref . "_moved"); } else { touch($pref); } for ($i = 0; $i <= count($presearch); $i++) { $tf = $pref . ".part" . $i; if (!is_file($tf)) { break; } $dt = fopen($tf, "rd"); if ($dt) { while (!feof($dt)) { file_put_contents($pref, fread($dt, 8192), FILE_APPEND); } fclose($dt); } } Others::redirect(URLm::url("fileView", array("filePath" => $pref))); break; case 'deleteParts': $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename'] . ".part"; $presearch = glob($pref . "*"); foreach ($presearch as $path) { if (is_file($path)) { @unlink($path); } } Others::redirect(URLm::url("folderView", array("dir" => ODIRECTORY))); break; case 'uncompress': if ($_GET['var'] != "" && is_dir($_GET['var'])) { $Zip = new ZipArchive(); $isZip = $Zip->open(DIRECTORY); if ($isZip) { $l = $Zip->extractTo(realpath($_GET['var'])); if ($l) { Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } } } } } $Shortcuts = ' <a href="javascript:sendPrompt(\'Şu Dosya Yoluna Atla\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "jump")) . '\', {value: \'' . DIRECTORY . '\'});">Atla</a> <a href="javascript:checkConfirm(\'Bu dosyayı silmek üzeresiniz\\n' . DIRECTORY . '\', \'' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "delete")) . '\');">Sil</a> <a href="javascript:sendPrompt(\'Kopyala\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "copy")) . '\', {value: \'' . DIRECTORY . '-Copy\'});">Kopyala</a> <a href="javascript:sendPrompt(\'Taşı: \\nYeni tam dosya yolunu girin\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "move")) . '\', {value: \'' . DIRECTORY . '\'});">Taşı</a> <a href="' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "download")) . '">İndir</a> <a href="#" onClick="window.open(\'' . URLm::url("fileEditor", array("file" => DIRECTORY)) . '\');">Düzenle</a> <a href="javascript:sendPrompt(\'Dosyayı parçalara ayırın (kB cinsinden boyut girin)\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "makeApart")) . '\', {value: \'20000\'});">Ayır</a> '; if (FILETYPE == "zip") { $Shortcuts .= ' <a href="javascript:sendPrompt(\'Klasöre Çıkart\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "uncompress")) . '\', {value: \'' . DIRECTORY . '\'});">Çıkart</a> '; } if (FILETYPE == "partinfo") { $Shortcuts .= ' <a href="' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "unapart")) . '">Birleştir</a> <a href="javascript:checkConfirm(\'Parçalanmış dosyayı parçaları ile birlikte silmek üzeresiniz\', \'' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "deleteParts")) . '\');">Parçaları Sil</a> '; } $favsRes = DBLite::query("SELECT * FROM `favorites`"); $Favorites = null; if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } Page::write("Top", array("Title" => "Dosya \"" . FILENAME . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "Dosyayı Görüntüle", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(ODIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(ODIRECTORY, PER_FREE)) . "%")))))); if (is_file(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; $NavigateDir = null; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } if (FILETYPE == "partinfo") { echo Html::write("Info", "Parçalanmış Dosya Bilgi Dosyası (*.partInfo)"); } echo Html::writef("Title", array("Title" => basename(DIRECTORY) != "" ? strtoupper(basename(DIRECTORY)) : "İsim Yok")); echo Html::writef("FileInfo", array("info" => "Dosya Boyutu", "value" => File::sizeExpression(FILEBYTE))); echo Html::writef("FileInfo", array("info" => "Değiştirilme Tarihi", "value" => date("Y/m/d H:i", FILECTIME))); echo Html::writef("FileInfo", array("info" => "Son Erişim Tarihi", "value" => date("Y/m/d H:i", FILEATIME))); echo Html::writef("FileInfo", array("info" => "Düğüm Numarası", "value" => FILEINODE)); echo Html::writef("FileInfo", array("info" => "Dosya Sahibi", "value" => FILEOWNER)); if (FILETYPE == "partinfo") { $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename']; $presearch = glob($pref . ".part*"); Html::cloneObject("List", "FileM"); Html::editObject("FileM", array(), '<a href="%eval{return URLm::url("fileView", array("filePath" => "%{file}%"));}%">%{(basename)file}% </a> <small>%{size}%</small>'); if (count($presearch) > 0) { echo "<br />\n" . Html::writef("Title", array("Title" => "İlişkili Olabilecek Dosyalar")); foreach ($presearch as $fid) { echo Html::writef("FileM", array("file" => $fid, "size" => filesize($fid) . " B")); } } } if (FILEBYTE < 102400 && (FILETYPE == "php" || FILETYPE == "txt" || FILETYPE == "html" || FILETYPE == "js" || FILETYPE == "xml" || FILETYPE == "dump")) { echo Html::writef("List", array("Content" => str_replace(array("\n", "\t"), array('<br />', " "), String::escapeHTML(file_get_contents(DIRECTORY))))); } if (FILETYPE == "jpg" || FILETYPE == "png" || FILETYPE == "gif") { Html::cloneObject("List", "Img"); Html::editObject("Img", array("style" => "text-align: center;"), '<img src="%{img}%" style="width: 250px;" /> '); echo Html::writef("Img", array("img" => URLm::url("imgCache", array("file" => DIRECTORY)))); } if (FILETYPE == "mp3" || FILETYPE == "m4a" || FILETYPE == "aac" || FILETYPE == "ogg") { Html::cloneObject("List", "MP3"); Html::editObject("MP3", array("style" => "text-align: center;"), '<audio style="width: 90%;" controls> <source src="%{src}%"> </audio> '); echo Html::writef("MP3", array("src" => URLm::url("imgCache", array("file" => DIRECTORY)))); } if (FILETYPE == "mp4" || FILETYPE == "avi" || FILETYPE == "m4a") { Html::cloneObject("List", "VideoArea"); Html::editObject("VideoArea", array("style" => "text-align: center;"), '<video style="width: 90%;" controls> <source src="%{src}%"> </video> '); echo Html::writef("VideoArea", array("src" => URLm::url("imgCache", array("file" => DIRECTORY)))); } Page::write("Bottom", array("DirNavigation" => $NavigateDir)); break; case 'upload': define("DIRECTORY", !is_dir($_GET['directory']) ? Others::redirect("?") : realpath($_GET['directory'])); // define ( "DIRECTORY", ((! is_dir ( $_GET ['directory'] )) ? realpath ( $_SERVER ['DOCUMENT_ROOT'] ) : realpath ( $_GET ['directory'] )) ); define("EDIRECTORY", urlencode(DIRECTORY)); $Shortcuts = ' <a href="' . URLm::url("folderView", array("dir" => DIRECTORY)) . '">Geri Dön</a> <a href="javascript:alert(\'Yükleyeceğiniz dosyayı seçin. Ardından yükle butonuna basın ve sabırlı olun dosya yüklendikten sonra yönlendirileceksiniz\');">Nasıl Yüklerim?</a> '; $favsRes = DBLite::query("SELECT * FROM `favorites`"); $Favorites = null; if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } if (isset($_FILES['file'])) { $baseName = str_replace(array("\"", "'", "{", "}", "^", "<", ">"), "", $_FILES['file']['name']); $tp = DIRECTORY . "/" . $baseName; if (is_file($tp)) { rename($tp, $tp . "_old"); } move_uploaded_file($_FILES['file']['tmp_name'], $tp); Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } Page::write("Top", array("Title" => "Klasör.Upload \"" . basename(DIRECTORY) . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "FileManager.Upload", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_FREE)) . "%")))))); echo Html::writef("Title", array("Title" => "Dosya Yükleyin")) . ' <form enctype="multipart/form-data" action="' . URLm::url("upload", array("dir" => DIRECTORY)) . '" method="POST"> ' . Html::export("List", ' <input name="file" type="file" style="width: 80%; margin-bottom: 8px;" /> ', array("style" => "text-align: center;")) . Html::writef("ListSubmit", array("Content" => ' <input type="submit" value="Yükle" /> ')) . ' </form> <br /> ' . Html::writef("Title", array("Title" => "i-Dosya ile Karşı Sunucudan Yükle")) . ' <form enctype="multipart/form-data" action="' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "iFile")) . '" method="POST"> ' . Html::export("List", ' <input name="var" type="text" style="width: 80%; margin-bottom: 8px;" value="http://" /> ', array("style" => "text-align: center;")) . Html::writef("ListSubmit", array("Content" => ' <input type="submit" value="Bağlan ve İndir" /> ')) . ' </form> '; $NavigateDir = null; if (is_dir(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir = '<a href="' . URLy::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } Page::write("Bottom", array("DirNavigation" => $NavigateDir)); } }