Example #1
0
function timer($testName)
{
    global $t0;
    echo $testName . " 所需时间为 ";
    echo mtime() - $t0;
    echo " 毫秒<br>\n";
}
Example #2
0
function send()
{
    global $keystring, $login, $email;
    $hash = md5('#RANDOM_PREFIX#' . mtime() . '#RANDOM_SEPARATOR#' . $login . '#WITH#' . $email . '#RANDOM_SUFFIX#');
    if ($_SESSION['CAPTCHA_Keystring'] == '' || strtolower($keystring) != $_SESSION['CAPTCHA_Keystring']) {
        add_info('Вы не прошли тест Тьюринга на подтверждение того, что вы не бот.');
        return false;
    }
    $r = db_row_value('user', "(`login` =\"{$login}\") AND (`email`=\"{$email}\") AND (`authorized`=1)");
    if ($r['id'] == '') {
        add_info('Неверное сочетание login <-> email');
        return false;
    }
    $s = unserialize($r['settings']);
    if ($s['restore_timestamp'] && time() - $s['restore_timestamp'] < config_get('restore-timeout')) {
        add_info('Вы не можете просить восстановку пароля так часто');
        return false;
    }
    $s['restore_hash'] = $hash;
    $s['restore_timestamp'] = time();
    db_update('user', array('settings' => db_string(serialize($s))), '`id`=' . $r['id']);
    $link = config_get('http-document-root') . '/login/restore/confirm/?id=' . $r['id'] . '&hash=' . $hash;
    sendmail_tpl(stripslashes($email), 'Восстановление пароля в системе ' . config_get('site-name'), 'restore', array('login' => stripslashes($login), 'email' => stripslashes($email), 'link' => $link));
    return true;
}
Example #3
0
	if (file_exists("adm/$process.php")) {
	include "adm/$process.php";
	}
}



if ($process == "word") {
function mtime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
    }
$basla = mtime();
for ($i=0; $i < 10000; $i++){
    }
$bitir = mtime();
echo "<br><br><br><center><a href=sozluk.php?process=word&q=Haliç+Sözlük target=main><font size=1>Haliç Sözlük entertaintment</font></a>";

echo "
<hr>
<div class='copyright' align='center'>Haliç Sözlük</DIV><br>

<font size=1><a href=sozluk.php?process=word&q=Haliç+Sözlük target=main><font size=1>&copy; 2009 - 2010 Haliç Sözlük</font></a> | <a href=http://www.halicsozluk.com/xml/today.xml target=main><font size=1>Haliç Sözlük RSS</font></a> | Kuruluþ : 10.11.2009<br>
sözlükte olan herþey yalan olabilir. haliç sözlük içeriði herhangi bir ön denetimden geçmeksiniz olduðu gibi yayýnlanýr ve doðrulu garanti edilmemektedir. <br>her yazar kendi bacaðýndan asýlýr, kimse bizi baðlamaz. sözlükte bulunan her satýr yazarlarýna aittir. araklanmasý yada kaynak gösterilmeden yayýnlanmasý yasaktýr. kaynak gösterilerek ticari olmayan yerlerde yayýnlanabilir.<br>

";
}

}
ob_end_flush();
?>
Example #4
0
<?php

// -*- tab-width: 3; indent-tabs-mode: 1; -*-
/*  
 * $Id: get.php 577 2006-05-29 12:04:06Z buddhafly $
 * Created for the StreamOnTheFly project (IST-2001-32226)
 * Authors: Andr�s Micsik, M�t� Pataki, Tam�s D�ri 
 *          at MTA SZTAKI DSD, http://dsd.sztaki.hu
 */
require "init.inc.php";
$starttime = mtime();
//$smarty->assign("OKURL", $_SERVER['PHP_SELF'] . "?id=" . rawurlencode($id));
$id = sotf_Utils::getParameter('id');
if ($id) {
    $db->begin();
    $smarty->assign('ID', $id);
    $prg =& $repository->getObject($id);
    if (!$prg) {
        raiseError("no_such_object", $id);
    }
    if (!$prg->getBool('published')) {
        if (!hasPerm($prg->id, 'change')) {
            raiseError("not_published_yet", $id);
            exit;
        }
        $smarty->assign("UNPUBLISHED", 1);
    }
    $page->setTitle($prg->get('title'));
    // general data
    $prgData = $prg->getAll();
    $prgData['icon'] = sotf_Blob::cacheIcon($id);
Example #5
0
 * @license   http://www.opensource.org/licenses/bsd-license.php  New BSD License
 * @since     5.9.6
 * @version   9.8.18 
 */
/**
 * Fetch current time
 * 
 * @return double current time
 */
function mtime()
{
    $t = gettimeofday();
    return (double) ($t['sec'] . '.' . sprintf("%06d", $t['usec']));
}
// Set start time
define('STARTTIME', mtime());
ini_set('include_path', 'library/' . PATH_SEPARATOR . ini_get('include_path'));
ini_set('include_path', 'library/pear/' . PATH_SEPARATOR . ini_get('include_path'));
// Classes
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/Exception.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/DataBase.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/Notifier.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/Attach.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/AutoLink.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/BackLink.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/Controller.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/Command.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/DiffRenderer.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/FuzzyFunc.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/FuzzyLink.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'BitWiki/HtmlConverter.php';
// Do the math the new way and time it
$start = mtime();
$cc = cc($nums);
$time = mtime() - $start;
echo implode($nums[0]) . " - " . implode($nums[1]) . " = " . $cc . " (cc = " . $time . ")" . "<br>";

// ===================================================================================================
*/
// ===================================================================================================
// Uncomment this block if you want to test a lot.
$cycles = 1000;
$owtime = 0;
$cctime = 0;
echo number_format($cycles) . " cycles - random numbers between 1 and 1000.<br>";
for ($i = 0; $i < $cycles; $i++) {
    $nums = randoms();
    // Do the math the old way and time it
    $start = mtime();
    $ow = ow($nums);
    $end = mtime();
    $owtime += $end - $start;
    // Do the math the new way and time it
    $start = mtime();
    $cc = cc($nums);
    $end = mtime();
    $cctime += $end - $start;
}
echo "Total time for the old way : " . abs($owtime) . " seconds<br>";
echo "Total time for the new way : " . abs($cctime) . " seconds<br>";
// ===================================================================================================
Example #7
0
File: sys.php Project: philum/cms
}
#structure
if ($_GET['admin']) {
    req('admin');
    $out['content'] = admin();
} elseif ($_GET['msql']) {
    req('msql');
    $out['content'] = msql_adm();
} elseif (rstr(85)) {
    $out['content'] = build_deskpage($read);
} else {
    $out = build_blocks();
}
//admin
if (ses('dev')) {
    $_POST['popadm']['chrono'] = btn('small', round(mtime() - $stime, 3));
}
$madmin = popadmin();
//meta
$host = host();
$meta['favicon'] = 'favicon.ico';
if ($_GET["admin"]) {
    $meta["title"] = $_GET['admin'];
    $meta['favicon'] = uicon('screen_4to3_16', 'picol/16');
} elseif ($_GET["msql"]) {
    $meta["title"] = $_GET['msql'];
    $meta['favicon'] = uicon('database_16', 'picol/16');
} elseif ($_SESSION["read"]) {
    $meta["title"] = $_SESSION["raed"];
    $meta["descript"] = $_SESSION["descript"];
    $meta["img"] = $host . '/imgc/' . $_SESSION["imgrel"];
Example #8
0
?>
</td></tr>
<tr><td>User Agent</td><td><?php 
echo $_SERVER['HTTP_USER_AGENT'];
?>
</td></tr>
<tr><td>Accept Language</td><td><?php 
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>
</td></tr>
<tr><td>Accept Charset</td><td><?php 
echo empty($_SERVER["HTTP_ACCEPT_CHARSET"]) ? 'Not Provided' : $_SERVER["HTTP_ACCEPT_CHARSET"];
?>
</td></tr>
<tr><td>Request Duration</td><td><?php 
echo mtime() - $time_begin;
?>
</td></tr>
</table>
</div>
<div id="msg" class="tabc">
<?php 
if (count($msg) > 0) {
    echo implode('<br />', $msg);
} else {
    echo 'No message.';
}
?>
</div>
<p>
<span style="text-align:left; float:left;"><a class="link" href="mailto:buganini@gmail.com">Contact me</a></span>
Example #9
0
/**
 * 打包返回AJAX请求的数据
 * @params {int} 返回状态码, 通常0表示正常
 * @params {array} 返回的数据集合
 */
function show_json($data, $code = true, $info = '')
{
    $use_time = mtime() - $GLOBALS['config']['app_startTime'];
    $result = array('code' => $code, 'use_time' => $use_time, 'data' => $data);
    if ($info != '') {
        $result['info'] = $info;
    }
    header("X-Powered-By: kodExplorer.");
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($result);
    exit;
}
Example #10
0
        die('Could not SELECT data: ' . mysql_error() . "\n" . 'Query was: ' . $sSQL);
    }
    $n = mysql_num_rows($b);
    if (!$n) {
        die('No results returned in SELECT data: ' . mysql_error() . "\n" . 'Query was: ' . $sSQL);
    }
}
$t = mtime() - $tStart;
print hour() . ' SELECT (' . $n . ' rows) complete in ' . $t . ' seconds with an average of ' . $t / $nLoop . ' sec/query' . "\n";
flush();
//////////////////////////////////////
print hour() . ' Idem, maar dan met subqueries' . "\n";
flush();
$tStart = mtime();
$sSQL = 'SELECT SQL_NO_CACHE c.*, SUBSTRING_INDEX(c.id, "/", 1) AS category, SUBSTRING(c.id, LOCATE("/", c.id)+1) AS colid, (SELECT a.created_by > 0 FROM ' . TABLE_ACTIVE_COLS . ' AS a WHERE c.id = a.colid) AS active, (SELECT u.name FROM ' . TABLE_USERS . ' AS u WHERE c.created_by = u.id) AS created_by_ FROM ' . TABLE_COLS . ' AS c ORDER BY category, colid';
for ($i = 1; $i <= $nLoop; $i++) {
    $b = @mysql_query($sSQL);
    if (!$b) {
        die('Could not SELECT data: ' . mysql_error() . "\n" . 'Query was: ' . $sSQL);
    }
    $n = mysql_num_rows($b);
    if (!$n) {
        die('No results returned in SELECT data: ' . mysql_error() . "\n" . 'Query was: ' . $sSQL);
    }
}
$t = mtime() - $tStart;
print hour() . ' SELECT (' . $n . ' rows) complete in ' . $t . ' seconds with an average of ' . $t / $nLoop . ' sec/query' . "\n";
flush();
//////////////////////////////////////
exit;
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Example #11
0
function ks_battle($group_id, $land_id, $fromadmin)
{
    global $db, $n, $userdata, $tpl, $header, $footer, $op_res_steal, $op_battle_trace;
    include LITO_MODUL_PATH . "battle/battlescript.php";
    $modul_name = "battle";
    $stime = mtime();
    $verteidiger_user_id = get_userid_from_countrie($land_id);
    $angreifer_race = get_race_id_from_group($group_id);
    $vert_race = get_race_id_from_countrie($land_id);
    $angreifer_name = $userdata['username'];
    $verteidiger_name = username($verteidiger_user_id);
    $angreifer_land = get_countrie_name_from_group_id($group_id, 1);
    $verteidiger_land = get_countrie_name_from_id($land_id, 1);
    $angreifer_user_id = get_user_id_from_group_id($group_id);
    trace_msg("angreifer group id:{$group_id} race id:{$angreifer_race}", 90);
    trace_msg("verteidiger land id:{$land_id} race id:{$vert_race}", 90);
    $kampfscript = new kampfs();
    $sql = "SELECT cc" . $n . "_groups_inhalt . * , cc" . $n . "_soldiers . * FROM cc" . $n . "_groups_inhalt INNER JOIN cc" . $n . "_soldiers ON cc" . $n . "_groups_inhalt.type = cc" . $n . "_soldiers.tabless WHERE cc" . $n . "_soldiers.race ='" . $angreifer_race . "' AND cc" . $n . "_groups_inhalt.group_id ='" . $group_id . "'";
    $result_g = $db->query($sql);
    $count_ang = 0;
    while ($row_g = $db->fetch_array($result_g)) {
        $g_id = $row_g['groups_inhalt_id'];
        $AP = $row_g['AP'];
        $VP = $row_g['VP'];
        $count_ang = $row_g['anzahl'];
        $unit_type = $row_g['type'];
        $kampfscript->setunits_angreifer($g_id, $AP * $count_ang, $VP * $count_ang, $AP, $VP, $count_ang, $unit_type);
    }
    $count_vert = 0;
    $result_sol_verteidiger = $db->query("SELECT * FROM cc" . $n . "_soldiers where race='{$vert_race}'");
    while ($row_sol_vert = $db->fetch_array($result_sol_verteidiger)) {
        $name = $row_sol_vert['tabless'];
        $id_vert = $row_sol_vert['sid'];
        $AP = $row_sol_vert['AP'];
        $VP = $row_sol_vert['VP'];
        $result_l = $db->query("SELECT {$name} FROM cc" . $n . "_countries where islandid='{$land_id}'");
        $row_l = $db->fetch_array($result_l);
        $anzahl_einheiten = $row_l[$name];
        $count_vert += $anzahl_einheiten;
        if ($anzahl_einheiten > 0) {
            $unit_type = $row_sol_vert['tabless'];
            $kampfscript->setunits_verteidiger($id_vert, $AP * $anzahl_einheiten, $VP * $anzahl_einheiten, $AP, $VP, $anzahl_einheiten, $unit_type);
        }
    }
    $all_einheiten_angr_count = 0;
    $all_einheiten_vert_count = 0;
    $verlust_angreifer = 0;
    $verlust_verteidiger = 0;
    if (intval($op_battle_trace) > 0) {
        $trace_fname = LITO_CACHE_PATH . "battle_kr/" . $land_id . "_" . time() . ".txt";
        $kampfscript->set_trace($trace_fname);
    }
    $kampfscript->calc();
    $all_einheiten_angr_count = $kampfscript->anzahl_angreifer_vor;
    $all_einheiten_vert_count = $kampfscript->anzahl_verteidiger_vor;
    $verlust_angreifer = $kampfscript->anzahl_angreifer - $kampfscript->anzahl_angreifer_end;
    $verlust_verteidiger = $kampfscript->anzahl_verteidiger - $kampfscript->anzahl_verteidiger_end;
    $all_einheiten = $kampfscript->anzahl_angreifer_vor + $kampfscript->anzahl_verteidiger_vor;
    $attack_msg = "";
    $einheit_ang = "";
    $einheiten_ang_ap = 0;
    $einheiten_ang_vp = 0;
    foreach ($kampfscript->angreifer as $name => $value) {
        $einheiten_name = $kampfscript->angreifer[$name]["unit_type"];
        $einheiten_name_org = $einheiten_name;
        $einheiten_new_count = $kampfscript->angreifer[$name]["new_units_count"];
        $einheiten_anzahl = $kampfscript->angreifer[$name]["unit_count"];
        $einheiten_name = get_soldiers_name($einheiten_name, $angreifer_race);
        $einheit_ang .= $einheiten_name . "<br>";
        $einheit_ang_count .= intval($einheiten_anzahl) . "<br>";
        $einheiten_ang_ap += $kampfscript->angreifer[$name]["ap_single"] * $einheiten_anzahl;
        $einheiten_ang_vp += $kampfscript->angreifer[$name]["vp_single"] * $einheiten_anzahl;
        if ($fromadmin == 0) {
            $db->query("update cc" . $n . "_groups_inhalt set anzahl='" . $einheiten_new_count . "' where group_id='" . $group_id . "' and type='" . $einheiten_name_org . "'");
        }
    }
    if ($fromadmin == 0) {
        $db->query("delete from cc" . $n . "_groups_inhalt where group_id='" . $group_id . "' and anzahl <='0'");
        $result_sum_group = $db->query("SELECT sum(anzahl)as all_i_groups FROM cc" . $n . "_groups_inhalt where group_id='" . $group_id . "'");
        $rowsum_group = $db->fetch_array($result_sum_group);
        $anz_goup_inhalt = $rowsum_group['all_i_groups'];
        if ($anz_goup_inhalt <= 0) {
            $db->query("delete from cc" . $n . "_groups where groupid='" . $group_id . "'");
        }
    }
    $einheiten_vert_ap = 0;
    $einheiten_vert_vp = 0;
    if ($count_vert > 0) {
        foreach ($kampfscript->verteidiger as $name => $value) {
            $einheiten_name = $kampfscript->verteidiger[$name]["unit_type"];
            $einheiten_name_org = $einheiten_name;
            $einheiten_anzahl = $kampfscript->verteidiger[$name]["unit_count"];
            $einheiten_new_count = $kampfscript->verteidiger[$name]["new_units_count"];
            $einheiten_name = get_soldiers_name($einheiten_name, $vert_race);
            $einheit_vert .= $einheiten_name . "<br>";
            $einheit_vert_count .= intval($einheiten_anzahl) . "<br>";
            $einheiten_vert_ap += $kampfscript->verteidiger[$name]["ap_single"] * $einheiten_anzahl;
            $einheiten_vert_vp += $kampfscript->verteidiger[$name]["vp_single"] * $einheiten_anzahl;
            if ($fromadmin == 0) {
                $db->query("update cc" . $n . "_countries set " . $einheiten_name_org . " ='" . $einheiten_new_count . "' where islandid='" . $land_id . "'");
                $db->query("update cc" . $n . "_countries set " . $einheiten_name_org . " ='0' where islandid='" . $land_id . "' and " . $einheiten_name_org . " <'0'");
            }
        }
    }
    $dauer_berechnung = sprintf("%.05f", ntime($stime, mtime()));
    $last_msg = "Es wurden " . intval($all_einheiten) . " Einheiten in " . $dauer_berechnung . " Sekunden berechnet.";
    unset($kampfscript);
    $date = date("d.m.Y H:i:s", time());
    $last_archive_id = 0;
    $result = $db->query("SELECT archive_id FROM cc" . $n . "_battle_archiv order by archive_id  DESC limit 1");
    $row = $db->fetch_array($result);
    $last_archive_id = $row['archive_id'];
    $kr_number = $last_archive_id + 1;
    $random = password(5);
    $random1 = time();
    $battle_url = "battle_id_" . $random . "_" . $random1 . ".html";
    $db->query("INSERT INTO cc" . $n . "_battle_archiv(ang_username,ang_land,vert_username,vert_land,battle_time,battle_url) VALUES ('{$angreifer_name}','{$angreifer_land}','{$verteidiger_name}','{$verteidiger_land}','" . time() . "','{$battle_url}')");
    $message_topic = "Kampfreport vom : " . date("d.m.Y H:i:s", time());
    $tpl->assign('date', $date);
    $tpl->assign('angreifer_name', $angreifer_name);
    $tpl->assign('angreifer_land', $angreifer_land);
    $tpl->assign('verteidiger_name', $verteidiger_name);
    $tpl->assign('verteidiger_land', $verteidiger_land);
    $tpl->assign('einheit_ang', $einheit_ang);
    $tpl->assign('einheit_ang_count', $einheit_ang_count);
    $tpl->assign('einheit_vert', $einheit_vert);
    $tpl->assign('einheit_vert_count', $einheit_vert_count);
    $tpl->assign('all_einheiten_angr_count', $all_einheiten_angr_count);
    $tpl->assign('einheiten_ang_ap', $einheiten_ang_ap);
    $tpl->assign('all_einheiten_vert_count', $all_einheiten_vert_count);
    $tpl->assign('einheiten_vert_ap', $einheiten_vert_ap);
    $tpl->assign('einheiten_ang_vp', $einheiten_ang_vp);
    $tpl->assign('einheiten_vert_vp', $einheiten_vert_vp);
    $tpl->assign('verlust_angreifer', $verlust_angreifer);
    $tpl->assign('verlust_verteidiger', $verlust_verteidiger);
    $tpl->assign('last_msg', $last_msg);
    $tpl->assign('kr_number', $kr_number);
    $k_report = $tpl->fetch(LITO_THEMES_PATH . 'battle/battle_ks_web.html');
    $Datei = LITO_ROOT_PATH . "battle_kr/{$battle_url}";
    $Datei_url = LITO_ROOT_PATH_URL . "battle_kr/{$battle_url}";
    $message_text = "Du wurdest angegriffen.<br>Den Kampfreport findest du hier:<br> [url=" . $Datei_url . "]Kampfreport Nr.:" . $kr_number . "[/url]";
    if ($fromadmin == 0) {
        make_ingamemail(0, $angreifer_user_id, $message_topic, $message_text);
        make_ingamemail(0, $verteidiger_user_id, $message_topic, $message_text);
    }
    $erstellen = fopen($Datei, "w");
    fwrite($erstellen, $k_report);
    fclose($erstellen);
    if ($all_einheiten_vert_count <= 0) {
        $max_steal = intval($op_res_steal);
        if ($max_steal > 0) {
            resreload($land_id);
            $result = $db->query("SELECT res1,res2,res3,res4,islandid FROM cc" . $n . "_countries WHERE islandid='" . $land_id . "'");
            $row = $db->fetch_array($result);
            $land_res1 = $row['res1'];
            $land_res2 = $row['res2'];
            $land_res3 = $row['res3'];
            $land_res4 = $row['res4'];
            $per_res1 = round($land_res1 * ($max_steal / 100), 0);
            $per_res2 = round($land_res2 * ($max_steal / 100), 0);
            $per_res3 = round($land_res3 * ($max_steal / 100), 0);
            $per_res4 = round($land_res4 * ($max_steal / 100), 0);
            if ($per_res1 < 0) {
                $per_res1 = 0;
            }
            if ($per_res2 < 0) {
                $per_res2 = 0;
            }
            if ($per_res3 < 0) {
                $per_res3 = 0;
            }
            if ($per_res4 < 0) {
                $per_res4 = 0;
            }
            $result = $db->query("update cc" . $n . "_countries  set res1=res1-'" . $per_res1 . "',res2=res2-'" . $per_res2 . "',res3=res3-'" . $per_res3 . "',res4=res4-'" . $per_res4 . "' WHERE islandid='" . $land_id . "'");
            $result = $db->query("update cc" . $n . "_groups  set res1=res1+'" . $per_res1 . "',res2=res2+'" . $per_res2 . "',res3=res3+'" . $per_res3 . "',res4=res4+'" . $per_res4 . "' WHERE groupid='" . $group_id . "'");
        }
        // group back
        $result = $db->query("SELECT * FROM cc" . $n . "_groups WHERE islandid = '{$userdata['activeid']}' AND groupid = {$group_id}");
        $row = $db->fetch_array($result);
        $old_traveltime = get_duration_time($userdata['x'], $userdata['y'], $row['endx'], $row['endy'], $row['speed']);
        $requesttime = $row['traveltime'] - time();
        if ($requesttime < 0) {
            $requesttime = 0;
        }
        $back_traveltime = $old_traveltime - $requesttime;
        $starttime = time();
        $db->query("UPDATE cc" . $n . "_groups SET group_status = 2, starttime={$starttime},traveltime = {$back_traveltime}, endx = {$userdata['x']}, endy = {$userdata['y']} WHERE groupid='{$group_id}'");
    }
    template_out('battle_ks.html', $modul_name);
}
Example #12
0
 public function serverDownload()
 {
     if ($_SERVER['HTTP_REFERER'] != $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]) {
         if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
             $uuid = 'download_' . $this->in['uuid'];
             if ($this->in['type'] == 'percent') {
                 //Get the download progress
                 //show_json($_SESSION[$uuid]);
                 if (isset($_SESSION[$uuid])) {
                     $info = $_SESSION[$uuid];
                     $result = array('uuid' => $this->in['uuid'], 'length' => (int) $info['length'], 'size' => (int) filesize($info['path']), 'time' => mtime());
                     show_json($result);
                 } else {
                     show_json('', false);
                 }
             } else {
                 if ($this->in['type'] == 'remove') {
                     //Cancel download; files are deleted automatically stops
                     del_file($_SESSION[$uuid]['path']);
                     unset($_SESSION[$uuid]);
                     show_json('', false);
                 }
             }
             //download
             $save_path = _DIR($this->in['save_path']);
             if (!is_writeable($save_path)) {
                 show_json($this->L['no_permission_write'], false);
             }
             $url = rawurldecode($this->in['url']);
             $header = url_header($url);
             if (!$header) {
                 show_json($this->L['download_error_exists'], false);
             }
             $save_path = $save_path . urldecode($header['name']);
             if (!checkExt($save_path)) {
                 //Allowed extension
                 $save_path = _DIR($this->in['save_path']) . date() . '.txt';
             }
             $save_path = get_filename_auto(iconv_system($save_path));
             $save_path_temp = $save_path . '.downloading';
             session_start();
             $_SESSION[$uuid] = array('length' => $header['length'], 'path' => $save_path_temp);
             session_write_close();
             if (file_download_this($url, $save_path_temp)) {
                 if (@rename($save_path_temp, $save_path)) {
                     //After downloading rename
                     $name = get_path_this(iconv_app($save_path));
                     show_json($this->L['download_success'], true, $name);
                 } else {
                     show_json($this->L['download_error_create'], false);
                 }
             } else {
                 show_json($this->L['download_error_create'], false);
             }
         }
     } else {
         header('Location: 403.php');
     }
 }
Example #13
0
 /**
  * ページを表示する。
  *
  * @param	array(string => string)	$value	スキンに渡す値。bodyとtitleは必須。
  */
 function render($value)
 {
     $command = array();
     foreach (Command::getCommands() as $c) {
         $html = $c->getbody();
         if ($html != '') {
             $command[substr(get_class($c), 8)] = $html;
         }
     }
     $plugin = array();
     foreach (Plugin::getPlugins() as $c) {
         $html = $c->getbody();
         if ($html != '') {
             $plugin[substr(get_class($c), 7)] = $html;
         }
     }
     $this->smarty->assign('command', $command);
     $this->smarty->assign('plugin', $plugin);
     $this->smarty->assign('option', $this->option);
     $this->smarty->assign('headeroption', $this->headeroption);
     $this->smarty->assign('theme', $this->theme);
     $this->smarty->assign($value);
     header('Content-Type: text/html; charset=UTF-8');
     $this->smarty->assign('runningtime', sprintf('%.3f', mtime() - STARTTIME));
     $this->smarty->display(SKINFILE);
 }
Example #14
0
File: lib.php Project: philum/cms
function chrono($d = '')
{
    static $t;
    static $start;
    static $cum;
    $top = round((mtime() - $start) * 1000, 3);
    $start = mtime();
    if ($d != $t) {
        $ret = $d . ': ' . $top . 'ms';
        $t = $d;
        $cum = 0;
    } elseif ($t && $t == $d) {
        $cum += $top;
        $ret .= 'start: ' . $cum . 'ms';
    }
    if ($d) {
        return btn('txtsmall2', $ret) . ' ';
    }
}
Example #15
0
# {"params": [], "method": "getwork", "id": "json"}
try {
    $oo = json_decode($request_body);
    if ($oo->{'method'} == "getwork") {
        $param = null;
        $bitcoin = new jsonRPCClient('http://' . $username . ':' . $password . '@' . $url . ':' . $port . '/');
        # ugly stuff, but count() returns always 0 :(
        foreach ($oo->{'params'} as $i => $value) {
            $param = $value;
            break;
        }
        if ($param == null) {
            # example
            # $w = '{ "midstate":"eae773ad01907880889ac5629af0c35438376e8c4ae77906301c65fa89c2779c","data":"0000000109a78d37203813d08b45854d51470fcdb588d6dfabbe946e92ad207e0000000038a8ae02f7471575aa120d0c85a10c886a1398ad821fadf5124c37200cb677854e0603871d07fff800000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000","hash1":"00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000","target":"0000000000000000000000000000000000000000000000000000f8ff07000000" }';
            # real
            if ($cache == 1 && mtime($filename) + $workCacheTime > time()) {
                $of = json_decode(read($filename));
            } else {
                $of = $bitcoin->getwork();
                if ($cache == 1) {
                    $write = 1;
                }
            }
            header('HTTP/1.1 200 OK');
            header('Content-Type: application/json');
            # patch request id into response
            $ret = json_decode('{}');
            $ret->{'id'} = $oo->{'id'};
            $ret->{'result'} = $of;
            $ret->{'error'} = null;
            echo json_encode($ret);
Example #16
0
include FUNCTION_DIR . 'web.function.php';
include FUNCTION_DIR . 'file.function.php';
include CLASS_DIR . 'fileCache.class.php';
include CONTROLLER_DIR . 'util.php';
include CORER_DIR . 'Application.class.php';
include CORER_DIR . 'Controller.class.php';
include CORER_DIR . 'Model.class.php';
include FUNCTION_DIR . 'common.function.php';
include BASIC_PATH . 'config/setting.php';
include BASIC_PATH . 'config/version.php';
//数据地址定义。
$config['pic_thumb'] = BASIC_PATH . 'data/thumb/';
// 缩略图生成存放地址
$config['cache_dir'] = BASIC_PATH . 'data/cache/';
// 缓存文件地址
$config['app_startTime'] = mtime();
//起始时间
//系统编码配置
$config['app_charset'] = 'utf-8';
//该程序整体统一编码
$config['check_charset'] = 'ASCII,UTF-8,GBK';
//文件打开自动检测编码
//when edit a file ;check charset and auto converto utf-8;
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    $config['system_os'] = 'windows';
    $config['system_charset'] = 'gbk';
    //user set your server system charset
} else {
    $config['system_os'] = 'linux';
    $config['system_charset'] = 'utf-8';
}
Example #17
0
File: mod.php Project: philum/cms
function build_mods($r)
{
    //p($r);
    $ptit_css = 'txtcadr';
    $pbdy_css = 'panel';
    $smcss = 'small';
    //mod,param,title,condition,command,option,(bloc),hide,template,nobr,div,ajxbtn
    list($m, $p, $t, $c, $d, $o, $ch, $hd, $tp, $nbr, $dv, $jbt) = $r;
    $t = stripslashes($t);
    switch ($m) {
        //main
        case 'LOAD':
            if ($_SESSION['read']) {
                $ret = art_read($tp);
            } else {
                $ret = api_arts($_SESSION['frm'], $o, $tp);
            }
            break;
        case 'Page_titles':
            $ret = page_titles($o);
            break;
        case 'All':
            $api = api_arts_rq($p, $o);
            $api['t'] = $t ? $t : nms(100);
            break;
        case 'category':
            if ($p == 1 && $_SESSION['frm'] == 'Home') {
                $p = 'All';
            }
            $ret = api_arts($p, $o, $tp);
            break;
        case 'Board':
            $ret = collect_board($p);
            break;
        case 'plan':
            $ret = arts_plan($m, $p);
            break;
        case 'Hubs':
            $ret = arts_plan($m, $p);
            break;
        case 'gallery':
            $ret = arts_plan($m, $p);
            break;
        case 'tracks':
            $ret = trkarts($p, $t);
            break;
            //api_tracks($t)
        //api_tracks($t)
        case 'MenusJ':
            $ret = ajxlink($p, 'mjx', $o, $d);
            break;
            //case('Wall'): $ret=wall_arts($t,$p); break;
        //case('Wall'): $ret=wall_arts($t,$p); break;
        case 'api':
            $ret = plugin('apicom', str_replace(';', ',', $p), $o);
            break;
        case 'api_mod':
            $api = api_defaults_rq(explode_k(str_replace(';', ',', $p), ',', ':'));
            break;
            //:,
        //:,
        case 'api_arts':
            $api = api_mod_arts($p, $t, $tp);
            if ($d == 'panel') {
                $api['cmd'] = $d;
            }
            $api['cols'] = $o;
            break;
            //&=
        //&=
        case 'articles':
            $load = api_mod_arts_row($p);
            $obj = 1;
            break;
            //&=
            //case('articles'): $api=api_mod_rq($p.'&t=x'); break;//&=
        //&=
        //case('articles'): $api=api_mod_rq($p.'&t=x'); break;//&=
        case 'tab_mods':
            $ret = tab_mods($p);
            break;
        case 'last':
            $ret = art_read_b('last', $n, 3, '');
            break;
        case 'player':
            $ret = flash_prep('', $p);
            break;
        case 'friend_art':
            $ret = friend_art($o);
            break;
        case 'friend_rub':
            $ret = friend_rub($o);
            break;
        case 'related_arts':
            $load = related_art();
            break;
        case 'related_by':
            $load = related_art_by();
            break;
        case 'prev_next':
            $ret = prevnext_art($d, $p, $o);
            break;
        case 'cat_arts':
            $p = $p != 1 ? $p : $_SESSION['frm'];
            $t = $t != $m ? $t : $p;
            $load = tri_rqt($p, 1, $_SESSION['dayx']);
            break;
        case 'priority_arts':
            $load = tri_rqt($p, 11);
            $t = $t != $m ? $t : $p;
            break;
        case 'recents':
            $load = recents_arts($p, $o);
            $obj = 1;
            break;
        case 'read':
            $ret = divc($o, read_msg($p, 3));
            break;
        case 'popart':
            $ret = pop_art($p);
            break;
        case 'pub_art':
            $ret = pub_art_b($p, $o);
            break;
        case 'pub_arts':
            $load = array_flip(explode(' ', $p));
            break;
        case 'pub_img':
            $ret = pub_img($p);
            break;
        case 'taxo_arts':
            $load = taxo_arts($p);
            if ($t > 1) {
                $t = suj_of_id($t);
            }
            break;
        case 'taxo_nav':
            $ret = plugin('taxonav', $p, $o);
            break;
        case 'read_art':
            $ret = read_art($p, $t);
            $t = '';
            break;
        case 'short_arts':
            $load = short_arts($p);
            if ($o <= 3) {
                $prw = $o;
            }
            break;
        case 'most_read':
            $ret = most_read_mod($p, $t, $d, $o, $m, $tp);
            $t = '';
            break;
        case 'same_title':
            $load = same_title();
            break;
        case 'deja_vu':
            if ($_SESSION['mem']) {
                $load = $_SESSION['mem'];
            }
            break;
            //com
        //com
        case 'rss_input':
            if ($p) {
                $ret = rssin(ajx($p, 1));
            }
            break;
        case 'disk':
            require_once 'ajxf.php';
            $_SESSION['dlmod'] = $p;
            if ($p && $p != '/') {
                $pb = '/' . $p;
            }
            $ret = divd('dsnavds', ds_nav('dl', 'users/' . ses('qb') . $pb));
            break;
        case 'finder':
            $ra = array('|', '-');
            $p = str_replace($ra, '/', $p);
            $o = str_replace($ra, '/', $o);
            req('finder');
            $ret = finder($p, $o, $d);
            break;
        case 'channel':
            $ret = plugin('channel', $p, $t, $d, $o);
            $t = '';
            break;
        case 'hour':
            setlocale(LC_TIME, "fr_FR");
            //%A%d%B%G%T
            if ($p) {
                $dat = strftime($p ? $p : '%y%m%d:%H%M', $_SESSION['dayx']);
            } else {
                $dat = mkday('', 1);
            }
            if (!$d) {
                $ret = btn($o, $dat);
            } else {
                $ret = divc($o, $dat);
            }
            break;
        case 'cart':
            $ret = lkc("txtcadr", "/?plug=cart", $p != 1 ? $p : "Cart");
            $ret = divd('cart', m_pubart($_SESSION['cart'], 'scroll', 7));
            break;
        case 'video':
            $ret = video_auto($p, '', '', 3);
            break;
        case 'video_playlist':
            $load = videoplaylist($p);
            $obj = 1;
            $prw = 'vd';
            break;
        case 'video_viewer':
            $ret = videoboard($p, $c, $o);
            break;
            //txt
        //txt
        case 'text':
            $ret = stripslashes(urldecode($p));
            if ($o) {
                $ret = divc($o, $ret);
            }
            break;
        case 'connector':
            if (substr($p, 0, 1) != "[" && substr($p, -1, 1) != "]") {
                $p = '[' . $p . ']';
            }
            $ret = nl2br(format_txt_r($p, '', ''));
            if ($o == 'article') {
                $ret = balc('article', 'justy', format_txt($p, '', ''));
            }
            break;
        case 'codeline':
            if ($p) {
                $ret = correct_txt($p, "", 'codeline');
            }
            break;
        case 'clear':
            $ret = divc("clear", "");
            break;
        case 'hr':
            $ret = '<hr' . atc($p) . ' />';
            break;
        case 'br':
            $ret = br();
            break;
            //menus
            //case('ajax'): $ret=lj('',$p,$t); break;
        //menus
        //case('ajax'): $ret=lj('',$p,$t); break;
        case 'conn':
            $ret = connectors($p, $o, '');
            break;
        case 'link':
            if ($d == 'noli') {
                $ret = special_link($p, $o);
            } else {
                if (strpos($p, '§')) {
                    list($p, $t) = split_one('§', $p, 0);
                }
                $lin[] = mod_link_r($p, $t);
            }
            break;
        case 'user_menu':
            $ret = user_menu($p);
            break;
            //mod_link
        //mod_link
        case 'app_link':
            $ret = read_apps_link($p, $d, $o);
            break;
        case 'app_menu':
            $r = build_apps($p, $d);
            $ra = m_apps($r, 'menu', '');
            if ($o == 'icons') {
                $ret = desktop_build_ico($ra, 'icones');
            } else {
                $ret = app_list($ra, '', $o);
            }
            $ret .= divc('clear', '');
            break;
        case 'app_popup':
            Head::add('jscode', sj(read_apps(explode(',', $p))));
            break;
        case 'categories':
            $line = $_SESSION['line'];
            if ($line) {
                ksort($line);
                $d = $d ? $d : 'lines';
                if ($d == 'cols' && !$o) {
                    $o = 4;
                }
                if ($o == 'home') {
                    $lin[] = array($_GET['module'], 'module', 'Home', 'Home');
                }
                foreach ($line as $k => $va) {
                    if ($o == 'nb') {
                        $ka = $k . ' (' . $va . ')';
                    } else {
                        $ka = $k;
                    }
                    $lin[] = array($_SESSION['frm'], 'cat', $k, $ka);
                }
            }
            break;
        case 'overcats':
            req('bubs');
            return mkbub(bub_root('overcat', 'zero'), 'inline', '1');
            break;
        case 'MenuBub':
            req('bubs');
            return mkbub(bub_root('menubub', 'zero'), 'inline', '1');
            break;
        case 'timetravel':
            return timetravel($p, $o);
            break;
        case 'submenus':
            return bubble_menus($p, $o);
            break;
        case 'taxonomy':
            $ret = taxonomy($p, $o);
            break;
        case 'rub_taxo':
            $ret = rub_taxo($p, $t);
            $t = '';
            break;
        case 'folders':
            $load = supertriad_ask();
            $prw = $o;
            $obj = 63;
            break;
        case 'desk':
            $ret = deskmod($p);
            break;
        case 'desktop_arts':
            $ret = title($t) . desktop_arts($p, $o, 'arts');
            break;
        case 'desktop_varts':
            $ret = title($t) . desktop_arts($p, $o, 'varts');
            break;
        case 'desktop_files':
            $ret = title($t) . desktop_arts($p, $o, 'files');
            break;
        case 'hierarchics':
            $in = m_suj_hierarchic('active', '');
            $ret = balc("ul", $pbdy_css, $in);
            break;
            //cacheable
        //cacheable
        case 'hubs':
            $mn = $_SESSION['mn'];
            if (count($mn) >= 2) {
                $t = $p != 1 ? $p : $t;
                if ($t) {
                    $t = lkc('', htac('module') . 'hubs', $t);
                }
                $in = m_nodes_b($mn, $o);
                $ret = balc("ul", $pbdy_css, $in);
            }
            break;
        case 'tags':
            if ($t) {
                $t = lkc('', '/plugin/tags/' . $p . '/1', $t);
            }
            $lin = tag_mod($p, $o, $d);
            break;
        case 'tags_cloud':
            $p = $p ? $p : 'tag';
            $ret = btn($ptit_css, lkc('', "/plug/tags", $p));
            $line = tags_list($p, ses('nbj'));
            $in = tags_cloud($line, 10, 22, ' ', $p);
            $ret .= divc($pbdy_css, $in);
            break;
        case 'tag_arts':
            list($p, $o) = split_one(':', $p);
            $load = tag_arts($p, $o);
            break;
        case 'last_tags':
            $lin = last_tags($p, $o, $d);
            break;
        case 'classtag_arts':
            $load = classtag_arts($p);
            break;
            //class find id//$o=$p;
        //class find id//$o=$p;
        case 'see_also-tags':
            $r = see_also_tags($p ? $p : 'tag');
            if ($r) {
                $ret = see_also($r, $p, $d, $o, $tp);
            }
            break;
        case 'see_also-rub':
            $t = $p != 1 ? $p : $_SESSION['frm'];
            if ($_GET['read']) {
                $load = see_also_rub($p);
            }
            break;
        case 'see_also-source':
            list($load, $t) = see_also_source($o);
            break;
        case 'siteclics':
            $ret = siteclics($p);
            break;
        case 'rub_tags':
            $ret = rub_tags($p);
            break;
        case 'sources':
            if ($t) {
                $t = lkc('', '/module/source', $t);
            }
            $lin = art_sources($p);
            break;
        case 'msql_links':
            if ($o == 'rss') {
                $l = '/?plug=rssin&rssurl=';
            } elseif ($o == 'mail') {
                $l = 'mailto:';
            } else {
                $l = '';
            }
            $ret = msql_links($p, $o, $l, $d, $t);
            $t = '';
            break;
        case 'rss':
            $ret .= balc('ul', 'panel', divd('rssj', rssj($p ? $p : 'rssurl', $o)));
            break;
        case 'rssin':
            $ret .= rssj_m($p, $o);
            break;
        case 'chat':
            if ($t) {
                $t = ljb('', 'SaveD', 'cht' . $p . '_chat_' . $p, $t);
            }
            $p = $p != 1 ? $p : 'pub';
            $in = plugin('chat', $p, $o ? $o : 10);
            if ($in) {
                $ret = divc($pbdy_css, $in);
            }
            break;
        case 'stats':
            $ret = plugin('stats', '', '');
            break;
        case 'archives':
            if ($p == 1) {
                $p = $m;
            }
            if ($p) {
                $ret = btn($ptit_css, $p);
            }
            $in = divd("archives", m_archives(""));
            $ret .= balc('ul', $pbdy_css, $in);
            break;
        case 'agenda':
            $load = sql('ib,msg', 'qdd', 'kv', 'val="agenda"');
            $tim = time();
            if ($load) {
                foreach ($load as $k => $v) {
                    if (strtotime($v) < $tim) {
                        unset($load[$k]);
                    }
                }
            }
            break;
        case 'folders_varts':
            $load = mod_varts($p);
            break;
        case 'panel_arts':
            $ret = plugin_func('panart', 'panart_build', $p);
            break;
        case 'calendar':
            $in = calendar(ses('daya'));
            if ($p == 1) {
                $p = $m;
            }
            if ($p) {
                $ret = btn($ptit_css, $p);
            }
            $ret .= divc($pbdy_css, $in);
            break;
        case 'newsletter':
            if ($o) {
                $ret = call_plug($ptit_css, 'popup', 'mailist', $p, $p) . ' ';
            } else {
                $ret = plugin('mailist', '', $p);
            }
            break;
        case 'bridge':
            $_GET['urlsrc'] = $p = 'http://' . $p . '/' . ajx($t, 1);
            $rea = vacuum($p, '');
            $po['suj'] = $rea[0];
            $po['msg'] = format_txt($rea[1], 3, $id);
            $po['source'] = picto('link') . ' ' . pub_link($p);
            $ret = template($po, '');
            break;
        case 'columns':
            $ret = mod_columns($p, $o);
            break;
            //users
        //users
        case 'login':
            $ret = login_btn($p, $o);
            break;
        case 'login_popup':
            $ret = login_btn_p($p, $o);
            break;
        case 'log-out':
            if (ses('USE')) {
                $ret .= lkc($smcss, '/logout', picto('logout')) . ' ';
            }
            break;
        case 'search_form':
            $ret = search_btn($p, $o, '', $d);
            break;
        case 'search':
            $load = plugin_func('search', 'rech', $p, $o);
            break;
        case 'social':
            $ret = plugin('social', $p, $o);
            break;
            //banner
        //banner
        case 'Banner':
            $ret = make_ban($p, $t, $o);
            break;
        case 'ban_art':
            if ($p != 1) {
                $ret .= lka(subdom(ses('qb')), read_msg($p, ''));
            }
            break;
            //footer
        //footer
        case 'credits':
            $ret = lj('bevel', 'popup_about', picto('phi2'));
            break;
        case 'admin':
            $ret = lkc($smcss, '/admin/log/open', $t ? $t : picto('admin')) . ' ';
            $t = '';
            break;
        case 'chrono':
            $ret = btn('txtsmall2', round(mtime() - $_SESSION['stime'], 2) . 's') . ' ';
            break;
        case 'contact':
            $ret = contact($p, $o ? $o : $smcss) . ' ';
            break;
            //plugs
        //plugs
        case 'taxonav':
            return plugin('taxonav', $p, $t);
            $t = '';
            break;
        case 'iframe':
            $ret = plugin('ifram', '', '');
            break;
        case 'suggest':
            $ret = pluginside(nms(126), 'suggest', $p, $o);
            break;
        case 'create_art':
            $ret = f_inp('', '');
            break;
        case 'twitter':
            if ($p) {
                $ret = plugin('twitter', $p, $o);
            }
            break;
        case 'profil':
            $ret = plugin_func('profil', $p, $o);
            break;
            //special
        //special
        case 'BLOCK':
            $ret = build_modules($p, '');
            break;
        case 'module':
            $ret = build_mod_r($p);
            break;
        case 'command':
            $ret = com_mod($p);
            break;
        case 'plug':
            list($pp, $po) = split('-', $o);
            $ret = plugin($p, $pp, $po);
            break;
        case 'pluf':
            list($pp, $po) = split('-', $p);
            list($op, $oo) = split('-', $o);
            $ret = plugin_func($pp, $po, $op, $oo);
            break;
        case 'plup':
            return lj('', 'popup_plupin___' . $p . '_' . $o . '_', $t ? $t : $p);
            break;
        case 'close':
            $ret = '';
        default:
            if ($p && $m) {
                $reb = connectors($p . ($o ? '§' . $o : '') . ':' . $m, "", "");
            }
            if ($reb && $reb != '[' . $p . ':' . $m . ']') {
                $ret = $reb;
            } else {
                $reb = plugin($m, $p, $o);
                if ($reb) {
                    $ret = build_titl('', $t ? $t : $m, '') . $reb;
                }
            }
            break;
    }
    //menus
    if ($lin) {
        $ret = mod_lin($lin, $t, $d, $o);
    }
    //arts
    if ($load) {
        $ret = mod_load($load, $ret, $t, $d, $o, $obj, $prw, $tp, $id);
    }
    //api
    if ($api) {
        $ret = api_load($api);
    }
    //umods
    if (!$ret && !$lin && !$load && $p && $m) {
        //user_mods
        $func = msql_read('', $_SESSION['qb'] . '_modules', $m);
        if ($func && !is_array($func)) {
            $ret = cbasic($func, $p);
        }
    }
    if (!$nbr) {
        $br = br();
    }
    if ($ret) {
        if ($dv) {
            return divc('mod', $ret) . $br;
        } else {
            return $ret . $br;
        }
    }
}
 public function serverDownload()
 {
     $uuid = 'download_' . $this->in['uuid'];
     if ($this->in['type'] == 'percent') {
         //获取下载进度
         //show_json($_SESSION[$uuid]);
         if (isset($_SESSION[$uuid])) {
             $info = $_SESSION[$uuid];
             $result = array('uuid' => $this->in['uuid'], 'length' => (int) $info['length'], 'size' => (int) filesize($info['path']), 'time' => mtime());
             show_json($result);
         } else {
             show_json('', false);
         }
     } else {
         if ($this->in['type'] == 'remove') {
             //取消下载;文件被删掉则自动停止
             del_file($_SESSION[$uuid]['path']);
             unset($_SESSION[$uuid]);
             show_json('', false);
         }
     }
     //下载
     $save_path = _DIR($this->in['save_path']);
     if (!is_writeable($save_path)) {
         show_json($this->L['no_permission_write'], false);
     }
     $url = rawurldecode($this->in['url']);
     $header = url_header($url);
     if (!$header) {
         show_json($this->L['download_error_exists'], false);
     }
     $save_path = $save_path . urldecode($header['name']);
     if (!checkExt($save_path)) {
         //不允许的扩展名
         $save_path = _DIR($this->in['save_path']) . date() . '.txt';
     }
     $save_path = get_filename_auto(iconv_system($save_path));
     $save_path_temp = $save_path . '.downloading';
     session_start();
     $_SESSION[$uuid] = array('length' => $header['length'], 'path' => $save_path_temp);
     session_write_close();
     if (file_download_this($url, $save_path_temp)) {
         if (@rename($save_path_temp, $save_path)) {
             //下载完后重命名
             $name = get_path_this(iconv_app($save_path));
             show_json($this->L['download_success'], true, $name);
         } else {
             show_json($this->L['download_error_create'], false);
         }
     } else {
         show_json($this->L['download_error_create'], false);
     }
 }
Example #19
0
 function debug_get_watchdog()
 {
     global $debug_watchdog;
     return mtime() - $debug_watchdog;
 }