Прямой эфир

Блоги

Для начала, для тех кто не знает что такое Remository.
Remository-предназначен для организации файлового архива

Данный хак для компонента Remository.
Какова его суть?
Изменяет шаблон вывода файлов на главной странице, для более понятного варианта смотрим скриншот.

<?php

//*******************************************
// mod_repositorynewest
// Added 4 columns (Date, File name, Hits, Direct download)
// Data: 16.01.2009 
//******************************************
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

global $mosConfig_sef, $mosConfig_absolute_path, $mosConfig_absolute_path, $my;

require_once ($mosConfig_absolute_path.'/components/com_remository/remository.utilities.php');
require_once ($mosConfig_absolute_path.'/components/com_remository/remository.html.php');

// Find out $Itemid
$base_url = 'index.php?option=com_remository';        	// Base URL string
if (!$mosConfig_sef) $base_url .= '&Itemid='.remos_getItemID('com_remository');
$base_url .= '&func=fileinfo&id=';
// direct download by: Luciffere (http://www.luciffere.ro)
$bases_url .= 'index.php?option=com_remository&func=startdown&id=';

/*********************Configuration*********************/
// Set to '1' to Show the Description, set to 0 to not show it
$showsmall = remositoryUtilities::remos_get_module_parm($params,'showsmall',0);
// Max number of entries to show
$max = remositoryUtilities::remos_get_module_parm($params,'max',5 );
// Max number of description characters
$maxchars = remositoryUtilities::remos_get_module_parm($params,'maxchars',100);
// Date format for display
$date_format = remositoryUtilities::remos_get_module_parm($params,'dateformat','M.d');
// Category from which to select files
$category = remositoryUtilities::remos_get_module_parm($params,'category', 0);

$max = max($max,1);
$maxchars = max($maxchars,20);
/*******************************************************/

include('components/com_remository/com_remository_settings.php');

function newestFiles ($category, $max) {
	global $database, $See_Files_no_download;
	$sql = 'SELECT f.id, downloads, filetitle, autoshort, description, smalldesc, filedate, icon from #__downloads_files AS f';
	if ($category) $sql .= ', #__downloads_structure AS s';
	$sql .= ' WHERE f.published=1';
	$sql .= remositoryUtilities::visibilitySQL();
	if ($category) $sql .= " AND f.containerid=s.item AND s.container=$category";
	$sql .= " ORDER BY f.id DESC LIMIT $max";
	$database->setQuery($sql);
	$files = $database->loadObjectList();
	if ($files) return $files;
	else return array();
}

$tabclass_arr=explode(",",$tabclass);

// Newest 5 Downloads
$newdownloads = newestFiles ($category, $max);
if ($category AND count($newdownloads)==0) $newdownloads = newestFiles (0, $max);

$content = remositoryUtilities::remos_module_CSS ();
$tabcnt = 0;
foreach ($newdownloads as $newdownload) {
	$count = ''.$newdownload->downloads;
	$sdesc = '';
	$down_url = sefRelToAbs($bases_url.$newdownload->id);
	if ($showsmall) {
		if (($newdownload->description<>'') AND ($newdownload->autoshort)) $sdesc.='
'.strip_tags($newdownload->description);
		elseif ($newdownload->smalldesc<>'') $sdesc.='
'.strip_tags($newdownload->smalldesc);
		if (strlen($sdesc)>$maxchars) $sdesc=substr($sdesc,0,$maxchars-3).'...';
	}
	$curicon='';
	if ($newdownload->icon <> '') $curicon=$newdownload->icon;
	else $curicon='generic.png';
	$url = sefRelToAbs($base_url.$newdownload->id);
	$class = $tabclass_arr[$tabcnt];
	$content .= "<table width='100%'><tr class='$class'><td width='20%' valign='middle' align='left' class='number'>".date($date_format, strtotime($newdownload->filedate));
	$content .= "
</td><td width='57%'><a href='$url'>";
	$content .= "<img src='$mosConfig_live_site/components/com_remository/images/file_icons/$curicon' align='top' border='0' width='16' height='16' alt='File'/> ";
	$content .= $newdownload->filetitle."</a>$sdesc</td>";
	$content .= "<td width='8%' valign='middle' class='number'>".$count."</td>";
	$content .= "<td width='15%'  align='center' border='0'  alt='Download'/><a href='$down_url'>";
	$content .= "<img src='/images/downloadbutt.png' alt='Download' />";
	$content .= "</a></td>\n";
	if ($tabcnt == 1){
	$tabcnt = 0;
	} else {
	$tabcnt++;
	}
}
$content .= "</table>\n";

?>

<table width='100%'>
<tr class='$class'><td width='20%' align='center' class='number' bgcolor='#303030'><font color="#ffffff" size="1">Дата</b></font></td>
<td width='60%' align='center' bgcolor='#303030'><font color="#ffffff" size="1"><b>Название Файла</b></font></td>
<td width='5%' align='center' bgcolor='#303030'><font color="#ffffff" size="1"><b>Кол-во скачанного</b></font></td>
<td width='15%' align='center' bgcolor='#303030'><font color="#ffffff" size="1"><b>Скачать фаил</b></font></td></tr></table>


Установка:
Заходим в корне Жумлы в папку modules, в папке mod_remositorynewest открываем файл mod_remositorynewest.php и заменям на данный код.
Примечание:
Данный хак идет как для Жумлы 1.5 так и для 1.0
поддерживает все версии Remository до 3.52
  • +1
  • 18 сентября 2009, 12:20
  • KH9I3b

Комментарии (0)


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.