Instalace je velice jednoduchá. Stažený soubor uložíte na Váš web do adresáře: \plugins\hcm. Tam vytvoříte adresář hacesoft a do něho uložíte soubor download.php a function.php.
Nakopírovat na web adresář Install_download a v prohlížeči spustit v tomto adresáři skript. Nesledně postupovat dle instrukcí. Upozornění heslo je stejné, jaké používá RS pro přihlášení do databáze. Po instalaci databáze, důrazně upozorňuji, smažte tento adresář z ostrého webu!
Počítací HCM modul se použije v RS následovně:
První parametr určuje co stáhnout, popřípadě i část cesty k souboru.
Druhy parametr je proste zobrazované jméno, které uvidíte na webu.
Skript obsahuje konstanty, které lze měnit:
Tento skript je pouze jen počitadlo stažených souborů, neobsahuje administraci a souhrny výpis souboru. Tyto funkce budou dostupné časem v dalším samostatným HCM modulu. Když je žádost o stažení souboru poprvé, automaticky se vytvoří v databázi odpovídající záznam z dostupných informaci.
Upozornění: pokud na webu nastane chyba, která je hlášena na začátku stránky, typicky E_NOTICE, tak skript nadále počítá stažené soubory ale soubor nejde stáhnout. Soubor je poslán formou HEADER.
Stáhnout HCM modul: download.php.
HCM kód download modulu:
// Autor www.prochazka.zde.cz
// verze souboru v2.0.0.
// dne 31.12.2012 - vytvoreni modulu
if(!defined('_core')) exit;
define("cesta_k_souborum", "web/download");
define("download", "download");
require _indexroot."plugins/hcm/hacesoft/function.php";
function _HCM_hacesoft_download($SPatchFile='', $SshowFile='')
{
$mresult ="";
if (isset($_GET['d7'])){// stazeni souboru
$k = 0;
$pBuffer = explode("߀", Dekodovani_Dat($_GET['d7']));
if (isset($pBuffer[0])) {
$k = $k + 1;
}
if (isset($pBuffer[1])) {
$sCrc = $pBuffer[1];
$k = $k + 1;
}
if ($k == 2) {
if ($sCrc == CrcOrign()) {
DownloadFile ($pBuffer[0]);
}
}
}
$sBuffer ="";
$CestakPrevHacFunkci =GetAdr()."&d7=";
if ($SPatchFile != ''){ //vytvor odkaz na pocitadlo
$sBuffer = Kodovani_Dat($SPatchFile. '߀' . CrcOrign());
$mresult .= "<a href='".$CestakPrevHacFunkci.$sBuffer."' >".$SshowFile."</a>";
}
return $mresult;
}
function DownloadFile ($sNazevSouboru){
$sFullPatchFile = _indexroot.cesta_k_souborum."/".$sNazevSouboru;
if (file_exists("$sFullPatchFile")) {
$sDatumNew = date ("j.n.Y H:i:s");
$nazev_tabulky = _mysql_prefix."-".download."-hac";
$query = DB::query_row('SELECT * FROM `'.$nazev_tabulky.'` WHERE `soubor`="'.$sNazevSouboru.'"');
if (is_bool($query) === false){
$pocet_stazeni = $query[stazeni] + 1;
$query = DB::query('UPDATE `'.$nazev_tabulky.'` SET `stazeni` ="'.$pocet_stazeni.'", `naposledy_stazen` ="'.$sDatumNew.'" WHERE `soubor` ="'.$sNazevSouboru.'"');
}
else{ //Soubor existuje ale doposud neni veden v databazi, tak ho do databaze zapisem }
$sDatumfile = date ("j.n.Y H:i:s", filemtime("$sFullPatchFile"));
$sSize = formatfilesize(FileSize("$sFullPatchFile"));
$cat_title_seo = $GLOBALS['query']['cat_title_seo'];
$title = $GLOBALS['query']['title'];
$query = DB::query("INSERT INTO `".$nazev_tabulky."` (soubor,rubrika,velikost,datum,verze,popis,stazeni,naposledy_stazen,hodnoceni,pocet_hodnotitelu) VALUES ('$sNazevSouboru', '$cat_title_seo', '$sSize', '$sDatumfile', '', '$title', 1, '$sDatumNew','0','0')");
}
$_GET['d7'] = "";
header("location: $sFullPatchFile"); //Posly soubor
}
}
?>
Soubor function.php obsahuje různé funkce, které volají HCM moduly uveřejněné na tomto webu.
HCM kód function modulu:
define("crc", "hac59fh5986v57xf8er451amhac");
function Kodovani_Dat ($sVstup) {
$sBuffer= md5($sVstup);
unset ($_SESSION[$sBuffer]);
$_SESSION[$sBuffer] = $sVstup;
return base64_encode($sBuffer);
}
function Dekodovani_Dat ($sVstup) {
$sBuffer= base64_decode($sVstup);
if(isset($_SESSION[$sBuffer])){
$sVystup = $_SESSION[$sBuffer];
return $sVystup;
}
else return 0;
}
function CrcOrign($Crc = crc){
return $Crc;
}
function formatfilesize($a) {
$unim = array("B", "KB", "MB", "GB", "TB", "PB");
$c = 0;
while ($a >= 1024) {
$c++;
$a = $a / 1024;
}
return number_format($a, ($c ? 2 : 0), ",", ".") . " " . $unim[$c];
}
function GetAdr ($funkce="all",$sUpdate="no"){
switch ($funkce){
case "all";
return $_SERVER['PHP_SELF'] . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : '');
break;
case "1";
if (isset($_SERVER['QUERY_STRING'])){
$urlBuffer = $pBuffer = explode("&", $_SERVER['QUERY_STRING']);
if (isset($_REQUEST[Nazev_strankovani])){
$urlBuffer[0] = $urlBuffer[0]."&".Nazev_strankovani."=".$_REQUEST[Nazev_strankovani];
}
if($sUpdate=="update") {
$_SERVER['QUERY_STRING'] = $urlBuffer[0];
$_SERVER['REDIRECT_QUERY_STRING'] = $urlBuffer[0];
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'] .'?'. $urlBuffer[0];
return $_SERVER['REQUEST_URI'];
}
else {
return $_SERVER['PHP_SELF'] .'?'. $urlBuffer[0];
}
}
break;
}
}
?>
Komentáře
Zasílate odpověď ke stávajícímu příspěvku (zrušit).
Nemáte oprávnění přidávat příspěvky.
Registrace >
Ztracené heslo >
Domovský web: www.prochazka.zde.cz