Beispiel #1
0
 function ipc_check_path_exists()
 {
     global $cpath;
     if (dir_exists(config_get('site-root') . config_get('document-root') . '/' . $cpath)) {
         print '+OK';
     } else {
         print '-ERR';
     }
 }
Beispiel #2
0
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)) {
Beispiel #5
0
<!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;
        }
Beispiel #8
0
 /**
  * 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;
 }
Beispiel #9
0
 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;
}