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 list_download.php a pager.php.
Pager.php je objekt staženy z: blog.jakubmaly.cz/programovani/php/strankovani-v-php-a-mysql-pohodlne-a-univerzalne
Do aktuálního template soubory nakopírujete CSS formátování.
Objekt list_download obsahuje několik konstant které lze měnit.
- První je nazev_tabulky, sem zadejte název tabulky pro HCM modul download.php.
- Cesta_k_obrazkum je konstanta ukazující na adresář kde se nacházejí obrázky hodnocení souboru.
- Pocet_zaznamu_na_stranku je konstanta říkající skriptu kolik záznamů je žádáno na jednu stránku.
Pokud chcete měnit způsob zobrazení stránkování, doporučuji si prostudovat manuál k objektu pager.php.
Tento skript pouze zobrazí data z databáze, které jsou plněna modulem download.php
download.php
Modul list_download.php neobsahuje žádnou administraci. Neumožňuje hodnotit jednotlivé soubory. Toto bude umožněno v dalším HCM modulu.
Do odpovídající sekce nebo stránky, kde zamýšlíte použít výpis, nakopírujte následující kód:
Stáhnout HCM modul: list_download verze 1.1.0.php.
CSS profil HCM modulu:
caption {font-size: 1.2em;font-weight: bold;margin: 1em 0;}
col {border-right: 1px solid #ccc;}
.DownloadOdd, .ObecnaOdd {background-color:#edf5ff;}
#DownloadHover:hover {background-color: #A8E8DB;color: #fff;}
.DownloadListTable, .ObecnaTable{border-collapse: collapse;width: 50em;border: 1px solid #666;}
.DownloadListTable th, .DownloadListTable td,ObecnaTable td {padding: 0.1em 1em;}
col#Downloadvelikostelikost, col#ObecnaCol {border: none;}
col#DoubleCol {border-right: 3px solid #ccc;}
HCM kód List_Download modulu:
// Autor www.prochazka.zde.cz
// verze souboru v1.1.0.
// dne 25.02.2013 - vytvoreni modulu
if(!defined('_core')) exit;
define("nazev_tabulky", "download");
define("cesta_k_obrazkum", "web/images/gif");
define("pocet_zaznamu_na_stranku", 15);
define("Nazev_strankovani", "page");
require_once _indexroot."plugins/hcm/hacesoft/pager.php";
require_once _indexroot."plugins/hcm/hacesoft/download.php";
function _HCM_hacesoft_list_download(){
$nazev_tabulky = _mysql_prefix."-".nazev_tabulky."-hac";
$sBuffer ='<table cellspacing="0" cellpadding="0" class="DownloadListTable">';
$list_download = new HCM_list_download('SELECT * FROM `'.$nazev_tabulky.'` ' ,Nazev_strankovani);
$list_download->nazev_tabulky = nazev_tabulky;
$list_download->cesta_k_obrazkum = cesta_k_obrazkum;
$list_download->PageSize = pocet_zaznamu_na_stranku;
$list_download->PagerAlign = "center";
$list_download->DataBind(); //ziska z databaze pozadovanou cast vysledkove sady //nastaveni modu FirstLast
$firstLastMode = new FirstLastPagerMode();
$firstLastMode->FirstPageText = "|<";
$firstLastMode->LastPageText = ">|";
$list_download->AddPagerMode($firstLastMode);
$prevNextMode = new PrevNextPagerMode();
$prevNextMode->NextPageText = "> Další";
$prevNextMode->PrevPageText = "< Předchozí";
$list_download->AddPagerMode($prevNextMode);
$list_download->AddPagerMode(new DefaultPagerMode);
$sBuffer .='<caption>'.$list_download->DrawPager()."</caption>";
$sBuffer .= $list_download->DrawHeader();
$sBuffer .= $list_download->vypis_list_download ();
$sBuffer .="</table>";
return $sBuffer;}
class HCM_list_download extends Pager{
Private $order = "order";
Private $sAdrScript;
Private $rev ="&rev=1"; //0 = asc , 1 = desc
Private $sRev="";
Private $sOrder="";
public $nazev_tabulky;
public $cesta_k_obrazkum;
public $lang;
public $sRevS =""; //s = soubor
public $sRevH =""; //h = hodnoceni
public $sRevR =""; //r = rubrika
public $sRevD =""; //d = stazeni
public $sRevV =""; //v = velikost
public function __construct($SelectCommand, $UrlParameterName){
$this->list_download_lang();
$this->sAdrScript = $this->GetAdrScript();
$SelectCommand = $this->UpdateGetSql ($SelectCommand);
parent::__construct($SelectCommand, $UrlParameterName);}
private function UpdateGetSql($SelectCommand){
if ($this->sOrder <>""){$sXrev="";
if ($this->sRev == 1){$sXrev ="DESC";} else{$sXrev="ASC";}
$SelectCommand = $SelectCommand." ORDER BY `".$this->sOrder."` ".$sXrev;
}
return $SelectCommand;}
private function GetAdrScript(){
if (isset($_GET["rev"])){$this->sRev = $_GET['rev'];}
if (isset($_GET["order"])){$this->sOrder = $_GET['order'];}
$hrefprefix = $_SERVER['SCRIPT_NAME'];
$this->UrlParameterName = $this->order;
$this->first=1;
foreach ( $_GET as $key=>$value){
if ($key == $this->UrlParameterName){
if($value == "soubor"){if($this->sRev == 0){$this->sRevS = $this->rev;}else{$this->sRevS="";}}
if($value == "hodnoceni"){if($this->sRev == 0){$this->sRevH = $this->rev;}else{$this->sRevH="";}}
if($value == "rubrika"){if($this->sRev == 0){$this->sRevR = $this->rev;}else{$this->sRevR="";}}
if($value == "stazeni"){if($this->sRev == 0){$this->sRevD = $this->rev;}else{$this->sRevD="";}}
if($value == "velikost"){if($this->sRev == 0){$this->sRevV = $this->rev;}else{$this->sRevV="";}}
continue;}
if ($key == "rev"){continue;}
if ($this->first){
$hrefprefix .= "?".$key."=".$value;
$this->first = 0;}
else $hrefprefix .= "&".$key."=".$value;}
return $hrefprefix;}
public function vypis_list_download (){
$sBuffer="";
$nBuffer =0;
while ($obj = $this->GetOne()){
$sClass ='';
$sNameFile = $obj->soubor;
$nStart = StrrPos($sNameFile, "/");
if ($nStart !== false) {$sNameFile = SubStr($sNameFile, $nStart + 1, (StrLen($sNameFile) - $nStart) - 1);}
$picture = (round($obj->hodnoceni*2)/2)*10;
$oDownload = new HCM_download($sNameFile,$sNameFile, _indexroot."web/download");
$oDownload->DataBind();
if ($nBuffer == 0){$sClass ='class="DownloadOdd"';$nBuffer=$nBuffer+1;}else $nBuffer=0;
$sBuffer .='<tbody><tr '.$sClass.' id="DownloadHover"><td class="pager-body-file"><h4>';
if (!isset($_GET[$oDownload->UrlParameterName])){
$sBuffer .="<a class='download' href='".$oDownload->sAdrScript.'&'.$oDownload->UrlParameterName.'='.$oDownload->SPatchFile."'
title='".$this->lang['download.voice.download'].$oDownload->SshowFile."'>".$oDownload->SshowFile."</a>";}
unset ($oDownload);
$sBuffer .='</h4><br /><span class="text-small">'.$this->lang['download.list.date'].$obj->datum.'</span><br />
<span class="text-small">'.$this->lang['download.list.date_download'].$obj->naposledy_stazen.'</span>';
$sBuffer .='</td><td class="pager-body-rating"><a href="'.$this->sAdrScript.'&hodnot='.$sNameFile.'" ><img src="'.$this->cesta_k_obrazkum.'/'.$picture.'.gif" title="'.$this->lang['download.voice.rate'].$obj->hodnoceni.'" /></a>
<br /><span class="text-small">('.$obj->pocet_hodnotitelu.'x '.$this->lang['download.voice.ranking'].')</span></td>
<td class="pager-body-sekce">'.$obj->rubrika.'</td><td class="pager-body-download">'.$obj->stazeni.'</td><td class="pager-body-size">'.$obj->velikost.'</td></tr>';}
$sBuffer .='</tbody>';
return $sBuffer;}
public function DrawHeader (){
$sBuffer ='<colgroup><col id="DownloadSoubor" /><col id="DownloadHodnoceni" /><col id="DownloadRubrika" /><col id="DownloadStazeni" /><col id="Downloadvelikostelikost" /></colgroup> ';
$sBuffer .='<thead><tr>';
$sBuffer .= '<th scope="col"><a href="'.$this->sAdrScript.'&order=soubor'.$this->sRevS.'" title="'.$this->lang['download.header.files.alignmet'].'">'.$this->lang['download.header.files.name'].'</a></th>';
$sBuffer .= '<th scope="col"><a href="'.$this->sAdrScript.'&order=hodnoceni'.$this->sRevH.'" title="'.$this->lang['download.header.rating.alignmet'].'">'.$this->lang['download.header.rating.name'].'</a></th>';
$sBuffer .= '<th scope="col"><a href="'.$this->sAdrScript.'&order=rubrika'.$this->sRevR.'" title="'.$this->lang['download.header.category.alignmet'].'">'.$this->lang['download.header.category.name'].'</a></th>';
$sBuffer .= '<th scope="col"><a href="'.$this->sAdrScript.'&order=stazeni'.$this->sRevD.'" title="'.$this->lang['download.header.contracted.alignmet'].'">'.$this->lang['download.header.contracted.name'].'</a></th>';
$sBuffer .= '<th scope="col"><a href="'.$this->sAdrScript.'&order=velikost'.$this->sRevV.'" title="'.$this->lang['download.header.size.alignmet'].'">'.$this->lang['download.header.size.name'].'</a></th>';
$sBuffer .= '</tr></thead>';
return $sBuffer;}
function list_download_lang(){
$lang['download.files.number']="Nalezený software celkem: ";
$lang['download.voice.rate']="Průměrné hodnocení: ";
$lang['download.voice.ranking']="hodnoceno";
$lang['download.list.date']="Datum vytvoření: ";
$lang['download.list.date_download']="Poslední stahnutí: ";
$lang['download.list.description']="Popis: ";
$lang['download.voice.download']="Stáhnout ";
$lang['download.header.files.alignmet']="Seřadit podle název programu";
$lang['download.header.rating.alignmet']="Seřadit podle hodnocení";
$lang['download.header.category.alignmet']="Seřadit podle kategorie";
$lang['download.header.contracted.alignmet']="Seřadit podle stažení";
$lang['download.header.size.alignmet']="Seřadit podle velikost";
$lang['download.header.files.name']="Název programu";
$lang['download.header.rating.name']="Hodnocení";
$lang['download.header.category.name']="Kategorie";
$lang['download.header.contracted.name']="Stažení";
$lang['download.header.size.name']="Velikost";
return $this->lang = $lang;}
}?>
Komentáře
Nebyly přidány žádné komentáře.