Modules Presents: zUpDownload centerBlock v1.0 for Postnuke and the */
/* MD-Project. This centerBlock features: Recent DL's and Favoruite DL's */
/*************************************************************************/
// ----------------------------------------------------------------------
// Last changes by Petzi-Juist, http://www.petzi-juist.de
// ----------------------------------------------------------------------
$blocks_modules['z_updownload'] =
array( 'func_display' => 'z_updownload_display',
'func_add' => 'z_updownload__add',
'func_edit' => 'z_updownload__edit',
'func_update' => 'z_updownload__update',
'text_type' => 'z UpDownload Block',
'text_type_long' => 'z UpDownload Center Block',
'allow_create' => false,
'allow_multiple' => true,
'allow_delete' => false,
'form_content' => false,
'form_refresh' => false,
'show_preview' => true
);
// Security
pnSecAddSchema('z_UpDownload::', 'Block title::');
function z_updownload_title_select ($selected) // selected is an array of the ids that are currently selected
{
$select="";
$dbconn =& pnDBGetConn(true);
pnModDBInfoLoad('UpDownload');
$pntable =& pnDBGetTables();
$table = $pntable['updownload_downloads'];
$column = &$pntable['updownload_downloads_column'];
//
$sql = "SELECT $column[lid], $column[title] FROM $table";
$sql .=" order by $column[title]";
$result = $dbconn->Execute($sql);
$options="";
if(!$result->EOF)
{
while (list($lid,
$title) =
$result->
fields) {
$options .= "<option ";
if (in_array($lid,
$selected)) $options .=
"SELECTED ";
$options .= "value=\"".$lid."\">".$title."</option>\n";
$result->MoveNext();
}
} else {
$options = "<option value =\"\" SELECTED>"._ZUPDNONEAVIALABLE."</option>\n";
}
$select = "<select multiple size=\"10\" name=\"nid[]\">\n";
$select .= $options;
$select .= "</select>\n";
return $select;
}
function z_updownload_display($row) {
$dbconn =& pnDBGetConn(true);
pnModDBInfoLoad('UpDownload');
$pntable =& pnDBGetTables();
$table = $pntable['updownload_downloads'];
$column = &$pntable['updownload_downloads_column'];
//
if (!pnSecAuthAction(0, 'z_UpDownload::', "$row[title]::", ACCESS_READ)) {
return;
}
if (!$url[0]) // nid
{
$id ='';
} else {
}
if (!$url[1]) // include date
{
$url[1]="Y";
}
$col1_width= "100%";
if ($url[1]=="Y" or $url[1]=="y")
{
$col1_width= "80%";
}
if (!$url[2]) // date format
{
$url[2]="d.m.y";
}
if (!$url[3]) // bullet
{
$url[3]="";
}
$amount = $url[4];
$maxlength = $url[5];
$length = $url[6];
$descmaxlength = $url[7];
$desclength = $url[8];
if (!$url[9]) // order
{
$url[9]="D,A"; // defaults to 'by date', 'ascending'
}
if (!$url[10]) // order_map
{
$j=1;
{
$temp_array[$j]=$v;
$j++;
}
$url[10]=
serialize($temp_array);
// just created a 'temp' order_map in case one didn't exist }
if (is_array($map_array)) $order_map=
array_flip($map_array);
// turns this back in to an array and flips keys for vals $ordertype="";
switch ($order[0])
{
case "A": // by alphabetical
$ordertype=$column[title];
break;
case "R": // by random
//$ordertype="RAND()";
$ordertype=
"RAND(" .
time() .
" * " .
time() .
")";
break;
case "S": // specified
// will have to use array for this
//break;
default: // by date or any other choice
$ordertype=
$column[date];
}
$sql="SELECT $column[lid],
$column[title],
$column[description],
UNIX_TIMESTAMP($column[date])
FROM $table";
if ($sevid)
{
$sql .= " where pn_lid='$sevid' ";
}
$sql .=" order by ".$ordertype;
if ($order[1]=="D") $sql .= " DESC";
$result = $dbconn->SelectLimit($sql);
if(!$result->EOF)
{
if ($url[0] == "")
{
$content .= "<table width=\"100%\" cellpadding=\"2\" cellspacing=\"5\" border=\"0\">"
."\n<tr><td>" . _ZUPDNONEAVIALABLE . "</td></tr>\n</table>\n";
} else {
$content .= "<table align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
$content .= "<tr><td width=\"90%\"> </td><td width=\"10%\" rowspan=\"2\"><img src=\"images/zblocks/downloadheader.jpg\" align=\"right\" alt=\"\" /></td></tr>";
$content .= "<tr><td width=\"90%\" style=\"background-color:#000000;height:0px;\"></td></tr></table>";
$content .= "<table align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"5\" border=\"0\">";
$content .= "<tr><td width=\"50%\" valign=\"top\"><span class=\"pn-title\"><strong>".Novedades."</strong></span></td>";
$content .= "<td width=\"50%\" valign=\"top\"><span class=\"pn-title\"><strong>".TopDescargas."</strong></span></td>";
$content .= "</tr></table>";
$content .= "<table align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"5\" border=\"0\">";
$content .= "<tr><td width=\"50%\" valign=\"top\">";
$j=1;
while (list($lid,
$title,
$description,
$date) =
$result->
fields) {
$result_array[$lid]=
array('lid'=>
$lid,
'title'=>
$title,
'date'=>
$date);
$std_order_map[$j]=$lid; // create 'standard' order map to use in most cases
$j++;
$result->MoveNext();
}
$result1 = $dbconn->Execute("SELECT $column[lid], UNIX_TIMESTAMP($column[date]),
$column[title], $column[description]
FROM $table
ORDER BY $column[date] DESC LIMIT $amount");
if(!$result1->EOF)
{
while (list($lid,
$date,
$title,
) =
$result1->
fields) { $result1->MoveNext();
$content .= "<table align=\"center\" width=\"100%\" cellpadding=\"2\" cellspacing=\"0\" border=\"0\">";
$content .= "<tr><td width=".$col1_width." valign=\"top\">";
if ($url[3])
{
$content .= "<img src=\"".$url[3]."\" alt=\"\" /> ";
} else {
$content .= "<strong><big>·</big></strong> ";
}
$content .= "<strong><a title=\"$title\" class=\"pn-title\" href=\"index.php?name=UpDownload&req=viewdownloaddetails&lid=$lid\" style=\"text-decoration:none\">";
if (strlen($title) >
$maxlength) { $title =
substr($title,
0,
$length);
$title .= "...";}
$content .= "".pnVarPrepForDisplay($title)."</a></strong></td>";
$ndate =
date($url[2],
$date);
if ($url[1]=="Y" or $url[1]=="y") $content .= "<td width=\"20%\" valign=\"bottom\"><span class=\"pn-normal\">$ndate</span></td>";
$content .= "</tr>";
if (strlen($description) >
$descmaxlength) { $description =
substr($description,
0,
$desclength);
$description .= "...";}
$content .= "<tr><td width=\"70%\" valign=\"middle\"><span class=\"pn-normal\">$description</span></td>";
$content .= "</tr></table>";
}
$content .= "</td>";
$content .= "<td width=\"50%\" valign=\"top\">";
$use_array=$std_order_map;
if (($order[0]==
"S") &&
(is_array($order_map))) $use_array=
$order_map;
{
$lid=$result_array[$v]['lid'];
$title=$result_array[$v]['title'];
$date=$result_array[$v]['date'];
$ndate =
date($url[2],
$date);
$content .= "<table cellSpacing=\"0\" cellPadding=\"2\" width=\"100%\" border=\"0\">";
$content .= "<tr><td width=".$col1_width." valign=\"top\">";
if ($url[3])
{
$content .= "<img src=\"".$url[3]."\" alt=\"\" /> ";
} else {
$content .= "<strong><big>·</big></strong> ";
}
$content .= "<strong><a title=\"$title\" class=\"pn-title\" href=\"index.php?name=UpDownload&req=viewdownloaddetails&lid=$lid\" style=\"text-decoration:none\">";
//added to limit the title
if ((strlen($title) >
$maxlength) &&
($maxlength<>
0)) { $title =
substr($title,
0,
$length);
$title .= "..."; }
$content .= "</td>";
{
$content .= "<td width=\"20%\" valign=\"bottom\">";
if ($url[1]=="Y" or $url[1]=="y") $content .= "<span class=\"pn-normal\">$ndate</span></td>";
$content .= "</tr>";
}
if (strlen($description) >
$descmaxlength) { $description =
substr($description,
0,
$desclength);
$description .= "...";}
$content .= "<tr><td width=\"70%\" valign=\"middle\"><span class=\"pn-normal\">$description</span></td>";
$content .= "</tr></table>";
}
}
$result2 = $dbconn->Execute("SELECT SUM($column[hits])
FROM $table");
if(!$result2->EOF)
list($sumhits) =
$result2->
fields;
else
$sumhits = 0;
$result2->Close();
$result2 = $dbconn->Execute("select COUNT(*) from $table");
if (!$result2->EOF)
{
list($count) =
$result2->
fields;
} else {
$count = 0;
}
$result2->Close();
if($sumhits > 0 || $count > 0)
{
$content .= "<br />\n";
$content .= "<table align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">\n";
$content .= "<tr>\n";
$content .= "<td align=\"right\" width=\"60%\"><span class=\"pn-normal\">\n<a href=\"index.php?name=UpDownload\"><strong>".Mas."</strong></a></span></td>\n</tr>\n</table>\n";
} else {
$content .= _ZUPDNODOWN;
}
$content .= "</td></tr></table>";
} }
$row[content] = $content;
themesideblock($row);
}
function z_updownload__add($row)
{
$row['url'] =
'|Y|d.m.y|5|40|37|100|97|D,A|'.
serialize(array(1=>
1,
2=>
2,
3=>
3,
4=>
4));
return $row;
}
function z_updownload__update($vars)
{
{
$vars['url'] =
join(',',
$vars[nid
]) ."|$vars[incdate]"
."|$vars[dateformat]"
."|$vars[bullet]"
."|$vars[amount]"
."|$vars[nmaxlength]"
."|$vars[nlength]"
."|$vars[ndescmaxlength]"
."|$vars[ndesclength]|"
.
join(',',
$vars[order
]).
"|"