paFileDB problem- Ostatnio dodane pliki

Jeśli masz problem z nie autoryzowaną modyfikacją, nie możesz jej zainstalować lub występują błędy po jej instalacji to pisz w tym dziale.
Arturozz
Posty: 4
Rejestracja: 13 maja 2006, 10:24
Lokalizacja: Dolny Slask

paFileDB problem- Ostatnio dodane pliki

Post autor: Arturozz » 13 maja 2006, 10:32

Witam, ostatnio wgrałem do swego phpbb modyfikacje dodająca system downloadu paFileDB.Wszystko ładnie fajnie , ale mam wielki problem ... mianowicie jak wyświetlić ostatnio dodane np 10 plików?.Przeszukałem całe google i znalazłem tylko cos takiego:

skrypt do wyswietlania top20 pobieranych plikow:
ps. tylko nie wiem jak to zmodyfikowac aby zamiast top20 wyswietlal ostatnio dodane pliki?.

Kod: Zaznacz cały

<?php
   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  /////Top Files in Main Page Addon for PafileDB (http://www.phparena.net)//////
 //////////Written by Wh1t3w0lf (wh1t3w0lf@decayandcorrupt.com) (fixed  by NightWolf www.belesh.net )/////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Instructions:
//Change the settings bellow (and the layout in the bottom of this file if you wish).
//After that put include this file in the page and in the place where you want to show the top files
//via the include php command

//Settings
$dbhostname= "hostname";   //Your MySQL Host name
$dbusername= "username";   //Your MySQL Username
$dbpassword= "password";   //Your MySQL Password
$dbdatabase= "databasename";   //Your MySQL Database Name
$url= "http://www.****.info/forum/dload.php";   //The Url where you have installed pafiledb.php e.g "http://www.yoursite.com/files/pafile.php"
$table ="phpbb_pa_files";   //Table name including the prefix
$topfilecount= 20;    // Top X files to show. e.g Top 10

//Don't mess with the following :P
$db = @mysql_connect($dbhostname,$dbusername,$dbpassword);
    if (!$db) {
      echo( "<p>Unable to connect to the " .
            "database server at this time.</p>" );
      exit();
    }
 if (! @mysql_select_db($dbdatabase) ) {
      echo( "<p>Error locating the file " .
            "database at this time.</p >" );
      exit();
    }
$result = @mysql_query("SELECT file_id, file_name, file_dls FROM $table ORDER BY file_dls DESC", $db);
    if (!$result) {
      echo("<p>Error performing query: " . mysql_error() . "</p>");
      exit();
    }
$files = mysql_num_rows($result);

//Style. Change accoridngly e.g Add html tags or css styles to match your site's design.
echo "<body bgcolor='#E0E8EF' text='#000000' link='#2F486F' vlink='#2F486F' alink='#2F486F'>";
echo "<style>
body{
   scrollbar-face-color: #DEE3E7;
   scrollbar-highlight-color: #FFFFFF;
   scrollbar-shadow-color: #DEE3E7;
   scrollbar-3dlight-color: #D1D7DC;
   scrollbar-arrow-color:  #006699;
   scrollbar-track-color: #A9BAC9;
   scrollbar-darkshadow-color: #98AAB1;
}

A.pFo:link         {color:#2F486F; text-decoration:overline;}
A.pFo:visited      {color:#2F486F; text-decoration:overline;}
A.pFo:active       {color:#2F486F; text-decoration:overline;}
A.pFo:hover        {color:#8AA0B4; text-decoration:overline;}

</style>";
echo "<center><u><b>Top 20 Downloads</b></u>:";
echo "<br><center><font face='Arial, Helvetica, sans-serif' size='-1'>";
$i=1;
while (($myrow = mysql_fetch_row($result)) And ($i<=$topfilecount)){
$i=$i + 1;
echo "<a href='$url?action=file&file_id=$myrow[0]' target='_parent'>$myrow[1]</a><br>\n";}

   ///////////////////////////////////////////////////////////////////////////////
  /////Top Files in Main Page Addon for PafileDB (http://www.phparena.net)///////
 //////////Written by Wh1t3w0lf (wh1t3w0lf@decayandcorrupt.com)/////////////////
///////////////////////////////////////////////////////////////////////////////
?>
z góry dziękuje za pomoc.
Pozdrawiam

Awatar użytkownika
mateusz
Zasłużony
Posty: 2174
Rejestracja: 14 maja 2005, 17:43
Lokalizacja: JAWORZNO
Kontakt:

Post autor: mateusz » 13 maja 2006, 11:17

sprawdź coś takiego:
nie gwaramtuje że działa:

Kod: Zaznacz cały

define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$sql = "SELECT f1.*, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, c.cat_id, c.cat_name
                       FROM " . PA_FILES_TABLE . " AS f1, " . PA_CATEGORY_TABLE . " AS c
                       LEFT JOIN " . PA_VOTES_TABLE . " AS r ON f1.file_id = r.votes_file
                        LEFT JOIN ". USERS_TABLE ." AS u ON f1.user_id = u.user_id
                        WHERE c.cat_id = f1.file_catid
                     AND f1.file_approved = '1'
                       GROUP BY f1.file_id
                       ORDER BY file_time DESC
                         LIMIT 10";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'NIe mozna odczytac ostatnio dodanych plikow', '', __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
echo '&raquo; <a href="' . append_sid("phpBB2/dload." . $phpEx . "?action=file&file_id=" . $row['file_id']) . '">'.$row['file_name'].'</a> ('.$row['file_dls'].')';
}
$db->sql_freeresult($result); 
Skrypt ma się znajdować w katalogu nadrzędnym forum (tam gdzie masz katalog z forum). Jeśli forum znajduje się w innym katalogu niż forum/ to zmień to w zmiennej

Kod: Zaznacz cały

$phpbb_root_path = './forum/';

EDIT
Sprawdzone i działa :D
Zapraszam również na moje forum: www.indianie.info
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.

Arturozz
Posty: 4
Rejestracja: 13 maja 2006, 10:24
Lokalizacja: Dolny Slask

Post autor: Arturozz » 13 maja 2006, 11:50

Dziekujei za pomoc , ale ukazuje mi sie mi nastepujący błąd:

Kod: Zaznacz cały

NIe mozna odczytac ostatnio dodanych plikow

DEBUG MODE

SQL Error : 1146 Table 'emulator.PA_CATEGORY_TABLE' doesn't exist

SELECT f1.*, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, c.cat_id, c.cat_name FROM phpbb_pa_files AS f1, PA_CATEGORY_TABLE AS c LEFT JOIN phpbb_PA_VOTES_TABLE AS r ON f1.file_id = r.votes_file LEFT JOIN phpbb_USERS_TABLE AS u ON f1.user_id = u.user_id WHERE c.cat_id = f1.file_catid AND f1.file_approved = '1' GROUP BY f1.file_id ORDER BY file_time DESC LIMIT 10
Line : 18
File : nowe.php
 

zalwazylem ze w swoim skrypcie dales nazwe tabeli "PA_FILES_TABLE"
a w moim przypadku systemu zintegrowanego z phpbb powinno byc "PHP_PA_FILES_TABLE" probowalem z poprawkami , nadal ten sam błąd :roll: juz sam nie wiem co z tym robić.

Awatar użytkownika
TrAvIkK
Zasłużony
Posty: 484
Rejestracja: 12 stycznia 2006, 17:13
Lokalizacja: masz takie wielkie buty?!

Post autor: TrAvIkK » 13 maja 2006, 11:58

PHP_PA_FILES_TABLE

A nie phpbb_PA_FILES_TABLE przypadkiem?
buu :P

Arturozz
Posty: 4
Rejestracja: 13 maja 2006, 10:24
Lokalizacja: Dolny Slask

Post autor: Arturozz » 13 maja 2006, 12:07

zmienilem na phpbb_
i nadal błąd

Kod: Zaznacz cały

NIe mozna odczytac ostatnio dodanych plikow

DEBUG MODE

SQL Error : 1146 Table 'emulator.phpbb_PA_CATEGORY_TABLE' doesn't exist

SELECT f1.*, AVG(r.rate_point) AS rating, COUNT(r.votes_file) AS total_votes, u.user_id, u.username, c.cat_id, c.cat_name FROM phpbb_pa_files AS f1, phpbb_PA_CATEGORY_TABLE AS c LEFT JOIN phpbb_PA_VOTES_TABLE AS r ON f1.file_id = r.votes_file LEFT JOIN phpbb_USERS_TABLE AS u ON f1.user_id = u.user_id WHERE c.cat_id = f1.file_catid AND f1.file_approved = '1' GROUP BY f1.file_id ORDER BY file_time DESC LIMIT 10

Line : 18
File : nowe.php

Awatar użytkownika
TrAvIkK
Zasłużony
Posty: 484
Rejestracja: 12 stycznia 2006, 17:13
Lokalizacja: masz takie wielkie buty?!

Post autor: TrAvIkK » 13 maja 2006, 12:24

Sprawdź w phpMyAdminie czy istnieje taka tabela jak phpbb_PA_CATEGORY_TABLE w bazie "emulator", bo wychodzi na to że nie.
buu :P

Arturozz
Posty: 4
Rejestracja: 13 maja 2006, 10:24
Lokalizacja: Dolny Slask

Post autor: Arturozz » 13 maja 2006, 14:26

Teraz wszystko fajnie działa , tylko jedno pytanie ,jak mam zrobić z tego skryptu aby wyświetlało pierwsze 19 liter , a nastepnie dodawało znak"..." ? .Męczyłem sie z poradnikami php , i nic ... cos chyba źle robilem.. prosze o pomoc :)

z góry dziękuje


Kod: Zaznacz cały

<?php
   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  /////Top Files in Main Page Addon for PafileDB (http://www.phparena.net)//////
 //////////Written by Wh1t3w0lf (wh1t3w0lf@decayandcorrupt.com) (fixed  by NightWolf www.belesh.net )/////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Instructions:
//Change the settings bellow (and the layout in the bottom of this file if you wish).
//After that put include this file in the page and in the place where you want to show the top files
//via the include php command

//Settings
$dbhostname= "hostname";   //Your MySQL Host name
$dbusername= "usernamedb";   //Your MySQL Username
$dbpassword= "password";   //Your MySQL Password
$dbdatabase= "dbname";   //Your MySQL Database Name
$url= "http://www.mywww.com/forum/dload.php";   //The Url where you have installed pafiledb.php e.g "http://www.yoursite.com/files/pafile.php"
$table ="phpbb_pa_files";   //Table name including the prefix
$topfilecount= 10;    // Top X files to show. e.g Top 10

//Don't mess with the following :P
$db = @mysql_connect($dbhostname,$dbusername,$dbpassword);
    if (!$db) {
      echo( "<p>Unable to connect to the " .
            "database server at this time.</p>" );
      exit();
    }
 if (! @mysql_select_db($dbdatabase) ) {
      echo( "<p>Error locating the file " .
            "database at this time.</p >" );
      exit();
    }
$result = @mysql_query("SELECT file_id, file_name, file_time FROM $table ORDER BY file_time DESC", $db);
    if (!$result) {
      echo("<p>Error performing query: " . mysql_error() . "</p>");
      exit();
    }
$files = mysql_num_rows($result);

//Style. Change accoridngly e.g Add html tags or css styles to match your site's design.
echo "<body bgcolor='#E0E8EF' text='#000000' link='#2F486F' vlink='#2F486F' alink='#2F486F'>";
echo "<style>
body{
   scrollbar-face-color: #DEE3E7;
   scrollbar-highlight-color: #FFFFFF;
   scrollbar-shadow-color: #DEE3E7;
   scrollbar-3dlight-color: #D1D7DC;
   scrollbar-arrow-color:  #006699;
   scrollbar-track-color: #A9BAC9;
   scrollbar-darkshadow-color: #98AAB1;
}

A.pFo:link         {color:#2F486F; text-decoration:overline;}
A.pFo:visited      {color:#2F486F; text-decoration:overline;}
A.pFo:active       {color:#2F486F; text-decoration:overline;}
A.pFo:hover        {color:#8AA0B4; text-decoration:overline;}

</style>";
echo "<center><u><b>New 21 </b></u>:";
echo "<br><center><font face='Arial, Helvetica, sans-serif' size='-1'>";
$i=1;
while (($myrow = mysql_fetch_row($result)) And ($i<= $topfilecount)){
$i=$i + 1;
echo "<a href='$url?action=file&file_id=$myrow[0]' target='_parent'>$myrow[1]</a><br>\n";}

   ///////////////////////////////////////////////////////////////////////////////
  /////Top Files in Main Page Addon for PafileDB (http://www.phparena.net)///////
 //////////Written by Wh1t3w0lf (wh1t3w0lf@decayandcorrupt.com)/////////////////
///////////////////////////////////////////////////////////////////////////////
?>

Zablokowany

Wróć do „Pomoc”