function ipc_check_path_exists() { global $cpath; if (dir_exists(config_get('site-root') . config_get('document-root') . '/' . $cpath)) { print '+OK'; } else { print '-ERR'; } }
function delete_list_file_in($url) { if (!is_dir($url)) { return; } delete_list_file($url); $dir = opendir($url); $flag = 0; while (($file = readdir($dir)) !== false) { if (($file == "." || $file == "..") && $flag == 0) { $flag = 1; } if ($file != "." && $file != ".." && dir_exists($url, $file)) { delete_list_file_in($url . $file . "/"); } } closedir($dir); if ($flag == 1) { return; } }
public function delete($ids) { $redirect = null; if (!is_numeric($ids)) { $redirect = ($this->module ? $this->module . "-" : null) . substr($ids, strpos($ids, '_') + 1, strpos($ids, ',') - 3); $ids = $this->model->Read_Where(preg_replace('/\\,/', '=', $ids), "id"); if (empty($ids)) { header("location:" . $redirect); exit; } } else { $ids = array("id" => $ids); } if (!is_multidimensional($ids)) { $ids = array($ids); } foreach ($ids as $id) { if (get_class($this) == "pessoas") { $user_id = Authentication::user_info(); if ($id['id'] == $user_id['_pessoas__id']) { $_SESSION['flash'] = "1#Ops! Parece que você está tentando deletar seus próprios dados!<br><small>Essa é uma operação impossível. Caso queira continuar, chame o administrador do Sistema.</small>"; $redirect = $redirect == null ? ($this->module ? $this->module . "/" : null) . get_class($this) : $redirect; header("location:" . $redirect); exit; } } $v = $this->model->Read($id['id']); $ks = array_keys($v); foreach ($ks as $k) { if ($k == "path") { if (dir_exists("assets/" . $this->uploadpath . "/" . $this->controller . "/" . $v['path'])) { $this->erase_dir("assets/" . $this->uploadpath . "/" . $this->controller . "/" . $v['path']); } } elseif (preg_match('/\\_upload/', $k)) { if (file_exists($v[$k])) { unlink($v[$k]); } } } } $this->model->Delete($id['id']); $_SESSION['flash'] = "3#Dados deletados com sucesso!"; $redirect = $redirect == null ? ($this->module ? $this->module . "/" : null) . get_class($this) : $redirect; header("location:" . get_base() . "/{$redirect}"); }
$get['only_select'] = true; $post['only_select'] = true; } if ($get['only_marked']) { $post['only_marked'] = 1; } if ($get['only_select']) { $post['only_select'] = 1; } $sql_dir = false; if (defined('DBKISS_SQL_DIR')) { $sql_dir = DBKISS_SQL_DIR; } if ($sql_dir) { if (!(dir_exists($sql_dir) && is_writable($sql_dir))) { if (!dir_exists($sql_dir) && is_writable('.')) { mkdir($sql_dir); } else { exit('You must create "' . $sql_dir . '" directory with write permission.'); } } if (!file_exists($sql_dir . '/.htaccess')) { file_put($sql_dir . '/.htaccess', 'deny from all'); } if (!file_exists($sql_dir . '/index.html')) { file_put($sql_dir . '/index.html', ''); } } if ('GET' == $_SERVER['REQUEST_METHOD']) { if ($sql_dir) { if ($get['md5'] && preg_match('#^(\\w{32,32})_(\\d+)$#', $get['md5'], $match)) {
<!DOCTYPE html> <html lang="en_US"> <head> <meta charset="utf-8"> <link href="/img/favicon.png" rel="shortcut icon"> <title>NovuForum</title> <!-- GLOBAL CSS --> <link href="/css/global.css" rel="stylesheet"> <?php if ($URL_SPLIT[0] == "admin") { ?> <link href="/css/bootstrap.css" rel="stylesheet"> <?php } if (isset($theme)) { if (dir_exists("themes/{$theme}/") && dir_exists("themes/{$theme}/css/")) { foreach (getdir("themes/{$theme}/css/") as $value) { ?> <link rel="stylesheet" type="text/css" href="/themes/<?php echo $theme; ?> /css/<?php echo $value; ?> "> <?php } } } ?> <!-- <?php
print "<script>window.location.href='{$url_this}?name=UploadIt&message={$message}'</script>"; } else { if (!$_FILES['userfile']) { } else { $message = "Invalid File Specified."; } } } /************************************************************ * List Files ************************************************************/ $handle = opendir($upload_dir); $filelist = ""; while ($file = readdir($handle)) { //$message .=$file; if (!dir_exists($file) && !is_link($file)) { // if(!is_dir($file) && !is_link($file)) { $filelist .= "<a href='{$upload_dir}{$file}'>" . $file . "</a>"; if ($DELETABLE) { $filelist .= " <a href='?name=UploadIt&del={$upload_dir}" . urlencode($file) . "' title='delete'>x</a>"; } $filelist .= "<sub><small><small><font color=blue> " . date("d-m H:i", filemtime($upload_dir . $file)) . "</font></small></small></sub>"; $filelist .= "<br>"; } } function do_upload($upload_dir, $upload_url) { $temp_name = $_FILES['userfile']['tmp_name']; $file_name = $_FILES['userfile']['name']; $file_name = str_replace("\\", "", $file_name); $file_name = str_replace("'", "", $file_name);
*/ $unsafe_folder = $_POST['folder']; // Security - make sure it's not $folder = "/../../../etc" or similar. $folder = preg_replace('/[^a-z0-9\\-\\_]/i', '', $unsafe_folder); _debug("replacing file(s) in {$folder} - initial clearup..."); if (!empty($folder)) { recursive_delete($xerte_toolkits_site->root_file_path . $xerte_toolkits_site->module_path . "xerte/templates/" . $folder . "/", true); recursive_delete($xerte_toolkits_site->root_file_path . $xerte_toolkits_site->module_path . "xerte/parent_templates/" . $folder . "/", true); } else { _debug("Can't delete empty \$folder - {$folder} ..."); } } else { // So we we don't have $_POST['folder'], look for a directory related to the uploaded zip file name. // i.e. FooBar.zip creates FooBar/ $folder = basename(substr($zip_file, 0, -4)); if (!dir_exists($temp_dir . DIRECTORY_SEPARATOR . $folder)) { _debug("Couldn't find folder name from the zip name - {$temp_dir} / {$userProvidedFileName} / {$zip_file} etc; aborting"); recursive_delete($temp_dir, true); die(IMPORT_TEMPLATE_ZIP_FAIL . "****"); } $rlt_found = false; $templateRlt = $temp_dir . DIRECTORY_SEPARATOR . $folder . DIRECTORY_SEPARATOR . 'template.rlt'; if (file_exists($templateRlt)) { $xml = @simplexml_load_file($templateRlt); if ($xml) { $folder = $xml['targetFolder']; $name = $xml['name']; $desc = $xml['description']; _debug("Uploading template -- {$folder} / {$name} / {$desc}"); $rlt_found = true; }
/** * Sanitize dirs name (move dirs) */ protected function sanitizeDir($dir) { if (basename($dir) != dmOs::sanitizeDirName(basename($dir))) { $renamedDir = dmOs::join(dirname($dir), dmOs::sanitizeDirName(basename($dir))); while (dir_exists($renamedDir)) { $renamedDir = dmOs::randomizeDirName($renamedDir); } rename($dir, $renamedDir); $dir = $renamedDir; } return $dir; }
function Create() { global $_POST; $name = addslashes(htmlspecialchars(trim($this->name))); $path = addslashes($this->path); if ($name == '' || $path == '') { return false; } if (!check_dir($path)) { return false; } if (db_count('storage', '`name`="' . $name . '"')) { add_info('Хранилище данных с таким именем уже существует.'); return false; } else { if (db_count('storage', '`path`="' . $path . '"')) { add_info('Хранилище данных с таким путем уже существует.'); return false; } else { if (dir_exists($this->GetFullPath())) { add_info('Данный путь уже используется в системе. Пожалуйста, укажите другой.'); return false; } else { $sdir = config_get('site-root') . config_get('document-root') . config_get('storage-root'); @mkdir($sdir); @chmod($sdir, 0775); @mkdir($this->GetFullPath()); @chmod($this->GetFullPath(), 0775); db_insert('storage', array('name' => "\"{$name}\"", 'path' => "\"{$path}\"")); $this->id = db_last_insert(); db_create_table('storage_volume_' . $this->id, array('id' => 'INT NOT NULL PRIMARY KEY AUTO_INCREMENT', 'file' => 'TEXT', 'user_id' => 'INT', 'timestamp' => 'INT', 'accepted' => 'BOOL DEFAULT 0', 'params' => 'TEXT DEFAULT ""')); return true; } } } }
iso8879/isocyr1.ent iso8879/isocyr2.ent iso8879/isodia.ent iso8879/isolat1.ent iso8879/isolat2.ent iso8879/isonum.ent iso8879/isopub.ent END; $split = preg_split("~\n~", $files); $start = 'http://www.w3.org/Math/DTD/mathml2/'; $results = array(); foreach ($split as $ent) { $url = $start . $ent; $target = $CFG->dataroot . '/mml/' . $ent; if (!file_exists($target)) { if (!dir_exists(dirname($target))) { mkdir(dirname($target)); } $result = download_file_content($url); if (!$result) { throw new coding_exception("Failed to download: {$url}"); } file_put_contents($target, $result); } else { $result = file_get_contents($target); } /* $result = preg_replace('~<!--.*?-->~s', '', $result); $result = preg_replace('~ {2,}~', ' ', $result); $result = preg_replace('~<!ENTITY % plane1D.*?>~', '', $result); $result = str_replace('" >', '">', $result);
/** * Рассылка информации по трекерам */ function send2trackers($name, $data) { global $tracklist; $out = array('status' => 1); $error = array(); switch ($name) { case 'rule_update': // Обновление ОДНОГО правила // Обновление ОДНОГО правила case 'rules_update': // Обновление ВСЕХ правил $rules_cache = array(); foreach ($data as $rule_name => $arr_items) { $i = 1; $arr_rules = array(); foreach ($arr_items as $row) { if ($row['parent_id'] > 0) { $arr_rules[$arr_items[$row['parent_id']]['type']][] = array('value' => $arr_items[$row['parent_id']]['value'], 'rule_id' => $row['rule_id'], 'out_id' => $row['value'], 'order' => $i); $i++; } } $str_rules = empty($arr_rules) ? '' : serialize($arr_rules); $rules_cache[$rule_name] = $str_rules; } foreach ($tracklist as $track) { $type = substr($track['path'], 0, 4) == 'http' ? 'remote' : 'local'; // Локальный трекер if ($type == 'local') { $rules_path = $track['path'] . '/cache/rules'; dir_exists($rules_path); // Записываем новые хеши foreach ($rules_cache as $rule_name => $str_rules) { $path = $rules_path . '/.' . $rule_name; if (file_put_contents($path, $str_rules, LOCK_EX)) { chmod($path, 0777); } else { $error[] = 'Can\'t create file ' . $path; } } // Удаляем кэши, которые есть, но нам их не прислали в обновлениях if ($name == 'rules_update') { $files = dir_files($rules_path); foreach ($files as $f) { if (!array_key_exists(substr($f, 1), $rules_cache)) { unlink($rules_path . '/' . $f); } } } // Удаленный трекер } else { $url = $track['path'] . '/api.php?act=ping'; $answer_text = api_send($url); $answer = json_decode($answer_text, true); if ($answer['status'] == 1) { // Полное или частичное обновление $url = $track['path'] . '/api.php?act=rules_update' . ($name == 'rules_update' ? '&full=1' : ''); $answer_text = api_send($url, array('cache' => $rules_cache, 'key' => $track['key'])); $answer = json_decode($answer_text, true); if ($answer['status'] != 1) { if (empty($answer['error'])) { $error[] = $answer['error']; } else { $error[] = 'Unknown error. Answer: ' . $answer_text; } } } else { $str_error = 'Don\'t have access to host ' . $url; if ($answer_text != '') { $str_error .= ' Answer: ' . $answer_text; } $error[] = $str_error; } } } break; case 'out_update': // Обновление одной ссылки // Обновление одной ссылки case 'outs_update': // Обновление всех ссылок foreach ($tracklist as $track) { $type = substr($track['path'], 0, 4) == 'http' ? 'remote' : 'local'; if ($type == 'local') { $outs_path = $track['path'] . '/cache/outs'; dir_exists($outs_path); foreach ($data as $id => $link) { $path = $outs_path . '/.' . $id; if (file_put_contents($path, $link, LOCK_EX)) { chmod($path, 0777); } else { $error[] = 'Can\'t create file ' . $path; } } // Удаляем неактуальные кэши $files = dir_files($outs_path); foreach ($files as $f) { if (!array_key_exists(substr($f, 1), $data)) { unlink($outs_path . '/' . $f); } } } else { $url = $track['path'] . '/api.php?act=ping'; $answer_text = api_send($url); $answer = json_decode($answer_text, true); if ($answer['status'] == 1) { $url = $track['path'] . '/api.php?act=outs_update' . ($name == 'outs_update' ? '&full=1' : ''); $answer_text = api_send($url, array('cache' => $data, 'key' => $track['key'])); $answer = json_decode($answer_text, true); if ($answer['status'] != 1) { if (empty($answer['error'])) { $error[] = $answer['error']; } else { $error[] = 'Unknown error'; } } } else { $str_error = 'Don\'t have access to host ' . $url . '.'; if ($answer_text != '') { $str_error .= ' Answer: ' . $answer_text; } $error[] = $str_error; } } } break; } if (!empty($error)) { $out = array('status' => 0, 'error' => join("\n", $error)); } return $out; }