Neue Dokumente unter Downloads
Strafaufgabe!
Jochen, Jochen, Jochen, Jochen..
So, Strafaufgabe erfüllt
Gruss
Klaus-Peter
So, Strafaufgabe erfüllt
Gruss
Klaus-Peter
Bitte nicht ausschimpfen, ist mein erster PHP Code......
<?php
/******************************************************************************
* sidebar_downloads
*
* Version 0.9.0
*
* Plugin das die aktuellsten X Downloads auflistet
*
*
* Kompatible ab Admidio-Versions 2.0.0
*
* Copyright : (c) 2004 - 2008 The Admidio Team
* Homepage : http://www.admidio.org
* Module-Owner : Marc Stehli
* License : GNU Public License 2 http://www.gnu.org/licenses/gpl-2.0.html
*
*****************************************************************************/
// Pfad des Plugins ermitteln
$plugin_folder_pos = strpos(__FILE__, "adm_plugins") + 11;
$plugin_file_pos = strpos(__FILE__, "sidebar_downloads.php");
$plugin_folder = substr(__FILE__, $plugin_folder_pos+1, $plugin_file_pos-$plugin_folder_pos-2);
if(!defined('PLUGIN_PATH'))
{
define('PLUGIN_PATH', substr(__FILE__, 0, $plugin_folder_pos));
}
require_once(PLUGIN_PATH. "/../adm_program/system/common.php");
require_once(PLUGIN_PATH. "/$plugin_folder/config.php");
require_once(PLUGIN_PATH. "/../adm_program/system/folder_class.php");
// pruefen, ob alle Einstellungen in config.php gesetzt wurden
// falls nicht, hier noch mal die Default-Werte setzen
if(isset($plg_downloads_count) == false || is_numeric($plg_downloads_count) == false)
{
$plg_downloads_count = 10;
}
if(isset($plg_max_char_per_word_downl) == false || is_numeric($plg_max_char_per_word_downl) == false)
{
$plg_max_char_per_word_downl = 0;
}
if(isset($plg_link_class_downl))
{
$plg_link_class_downl = strip_tags($plg_link_class_downl);
}
else
{
$plg_link_class_downl = "";
}
if(isset($plg_link_target_downl))
{
$plg_link_target_downl = strip_tags($plg_link_target_downl);
}
else
{
$plg_link_target_downl = "_self";
}
// DB auf Admidio setzen, da evtl. noch andere DBs beim User laufen
$g_db->setCurrentDB();
// alle Organisationen finden, in denen die Orga entweder Mutter oder Tochter ist
$plg_organizations = "";
$plg_arr_orgas = $g_current_organization->getReferenceOrganizations(true, true);
foreach($plg_arr_orgas as $key => $value)
{
$plg_organizations = $plg_organizations. "'$value', ";
}
$plg_organizations = $plg_organizations. "'". $g_current_organization->getValue("org_shortname"). "'";
// pruefen ob das Modul ueberhaupt aktiviert ist
if ($g_preferences['enable_download_module'] !=1)
{ // das Module ist deaktiviert
}
else
{
// erst pruefen, ob der User auch die entsprechenden Rechte hat
if (!$g_current_user->editDownloadRight())
{ // Keine Rechte
}
else
{
// nun alle relevanten Downloads finden
$sql = "SELECT fil_timestamp, fil_name, fol_name, fol_path, fil_id fil_fol_id FROM ". TBL_FILES. ", ". TBL_FOLDERS. "
WHERE fil_fol_id = fol_id
ORDER BY fil_timestamp DESC";
$plg_result_fil = $g_db->query($sql);
if($g_db->num_rows($plg_result_fil) > 0)
{
$anzahl = 0;
while($plg_row = $g_db->fetch_object($plg_result_fil))
{
$folder = new Folder($g_db);
$folder->getFolderForDownload(fil_fol_id);
if ($folder->getValue('fol_id'))
{
echo '<a class="'. $plg_link_class_downl. '" title= "'. $plg_row->fol_path. '/'. $plg_row->fol_name. '/" href="'. $g_root_path. '/adm_program/modules/downloads/get_file.php?file_id='. $plg_row->fil_id. '&headline='. $plg_headline_downl. '" target="'. $plg_link_target_downl. '">';
echo "$plg_row->fil_name</a><br />";
echo "( ". $plg_row->fil_timestamp. " )<hr />";
$anzahl++;
}
if ($anzahl == $plg_downloads_count)
{
break;
}
}
}
else
{
echo "Es wurden noch keine Downloads hochgeladen.";
}
}
}
echo '</div>';
?>
Bitteschön:
Code: Alles auswählen
<?php
/******************************************************************************
* sidebar_downloads
*
* Version 0.9.0
*
* Plugin das die aktuellsten X Downloads auflistet
*
*
* Kompatible ab Admidio-Versions 2.0.0
*
* Copyright : (c) 2004 - 2008 The Admidio Team
* Homepage : http://www.admidio.org
* Module-Owner : Marc Stehli
* License : GNU Public License 2 http://www.gnu.org/licenses/gpl-2.0.html
*
*****************************************************************************/
// Pfad des Plugins ermitteln
$plugin_folder_pos = strpos(__FILE__, "adm_plugins") + 11;
$plugin_file_pos = strpos(__FILE__, "sidebar_downloads.php");
$plugin_folder = substr(__FILE__, $plugin_folder_pos+1, $plugin_file_pos-$plugin_folder_pos-2);
if(!defined('PLUGIN_PATH'))
{
define('PLUGIN_PATH', substr(__FILE__, 0, $plugin_folder_pos));
}
require_once(PLUGIN_PATH. "/../adm_program/system/common.php");
require_once(PLUGIN_PATH. "/../adm_program/system/file_class.php");
// pruefen, ob alle Einstellungen in config.php gesetzt wurden
// falls nicht, hier noch mal die Default-Werte setzen
if(isset($plg_downloads_count) == false || is_numeric($plg_downloads_count) == false)
{
$plg_downloads_count = 10;
}
if(isset($plg_max_char_per_word_downl) == false || is_numeric($plg_max_char_per_word_downl) == false)
{
$plg_max_char_per_word_downl = 0;
}
if(isset($plg_link_class_downl))
{
$plg_link_class_downl = strip_tags($plg_link_class_downl);
}
else
{
$plg_link_class_downl = "";
}
// DB auf Admidio setzen, da evtl. noch andere DBs beim User laufen
$g_db->setCurrentDB();
// alle Organisationen finden, in denen die Orga entweder Mutter oder Tochter ist
$plg_organizations = "";
$plg_arr_orgas = $g_current_organization->getReferenceOrganizations(true, true);
foreach($plg_arr_orgas as $key => $value)
{
$plg_organizations = $plg_organizations. "'$value', ";
}
$plg_organizations = $plg_organizations. "'". $g_current_organization->getValue("org_shortname"). "'";
// pruefen ob das Modul ueberhaupt aktiviert ist
if ($g_preferences['enable_download_module'] !=1)
{ // das Module ist deaktiviert
}
else
{
// erst pruefen, ob der User auch die entsprechenden Rechte hat
// nun alle relevanten Downloads finden
$sql = "SELECT fil_timestamp, fil_name, fol_name, fol_path, fil_id, fil_fol_id FROM ". TBL_FILES. ", ". TBL_FOLDERS. "
WHERE fil_fol_id = fol_id
ORDER BY fil_timestamp DESC
LIMIT 0, 10";
$plg_result_fil = $g_db->query($sql);
if($g_db->num_rows($plg_result_fil) > 0)
{
while($plg_row = $g_db->fetch_object($plg_result_fil))
{
$file = new File($g_db);
$file->getFileForDownload($plg_row->fil_id);
if($file->getValue('fil_id'))
{
echo '<a class="'. $plg_link_class_downl. '" title= "'. $plg_row->fol_path. '/'. $plg_row->fol_name. '/"
href="'. $g_root_path. '/adm_program/modules/downloads/get_file.php?file_id='. $plg_row->fil_id. '" target="_self">'.$plg_row->fil_name.'</a>
<br />( '. $plg_row->fil_timestamp. ' )<hr />';
}
}
}
else
{
echo "Es wurden noch keine Downloads hochgeladen.";
}
}
?>
Hallo Jochen
Vielen Dank!!
Leider hat es aber das primäre Problem nicht gelöst...
Ein Mitglied, dass einer Rolle zugeordnet ist, die keine Rechte für Uploads hat, kann ja trotzdem das Recht haben, Dateien zu downloaden.
Ein solches Mitglied sieht nun aber absolut keine Einträge, sollte es aber.
Weiss du, was ich meine?
Vielen Dank
Marc
Vielen Dank!!
Leider hat es aber das primäre Problem nicht gelöst...
Ein Mitglied, dass einer Rolle zugeordnet ist, die keine Rechte für Uploads hat, kann ja trotzdem das Recht haben, Dateien zu downloaden.
Ein solches Mitglied sieht nun aber absolut keine Einträge, sollte es aber.
Weiss du, was ich meine?
Vielen Dank
Marc
Hallo Marc,
Wollte es dir nicht zu einfach machen und hatte es deswegen auf das nötigste reduziert
Finde die Grundidee gut. Würde vorschlagen wir kümmern uns darum, sobald wir die neue Version in trockenen Tüchern haben. Dann müsste halt noch eine config-Datei her in der man z.B. einstellen kann wie viele Datein angezeigt werden sollen.
Gruß Jochen
Wollte es dir nicht zu einfach machen und hatte es deswegen auf das nötigste reduziert
Finde die Grundidee gut. Würde vorschlagen wir kümmern uns darum, sobald wir die neue Version in trockenen Tüchern haben. Dann müsste halt noch eine config-Datei her in der man z.B. einstellen kann wie viele Datein angezeigt werden sollen.
Gruß Jochen