phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Przesunięty przez: Matteo
09-11-2013, 09:29
ostatnie fotki z prywatnych galerii na stronie g?ównej
Autor Wiadomość
chaos

Posty: 18
Wysłany: 27-08-2006, 02:27   ostatnie fotki z prywatnych galerii na stronie głównej

Witam
Nareszcie rozwiązałem ten problem.

Przedstawiam rozwiązanie.
W pliku album_portal.php znajdujemy:
Kod:
    $sql = "SELECT p.pic_id, pic_filename, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
        FROM " . ALBUM_TABLE . " AS p
            LEFT JOIN " . USERS_TABLE . " AS u ON (p.pic_user_id = u.user_id)
            LEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON (p.pic_cat_id = ct.cat_id)
            LEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON (p.pic_id = r.rate_pic_id)
            LEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON (p.pic_id = c.comment_pic_id)
        WHERE p.pic_cat_id IN ($allowed_cat) AND p.pic_approval = 1 OR ct.cat_approval = 0
        GROUP BY p.pic_id
        ORDER BY pic_time DESC


Zamieniamy to na:
Kod:
    $sql = "SELECT p.pic_id, p.pic_filename, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment
        FROM " . ALBUM_TABLE . " AS p
            LEFT JOIN " . USERS_TABLE . " AS u ON (p.pic_user_id = u.user_id)
            LEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON (p.pic_cat_id = ct.cat_id)
            LEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON (p.pic_id = r.rate_pic_id)
            LEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON (p.pic_id = c.comment_pic_id)           
        WHERE p.pic_cat_id = 0           
        GROUP BY p.pic_id
        ORDER BY pic_time DESC


U mnie jak narazie wszystko działa ok.

Pozdrawiam
Ostatnio zmieniony przez Boltex 20-08-2010, 21:02, w całości zmieniany 1 raz  
 
     
Gadatliwa Kasia 

   
Ferguss

Posty: 17
Wysłany: 29-08-2006, 19:08   

Yeah - rzeczywiście działa.
Wielkie dzięki chaos.
 
     
chaos

Posty: 18
Wysłany: 29-08-2006, 21:33   

jedyny problem jaki zauważyłem to to że musi być przynajmniej jeden album w kategori publicznej. Może być pusty, inaczej nie wyświetla, nie wiem jak to porawić. Teraz męczę się z umieszczeniem fotek nad newsami w dwóch rzędach a nie po prawej lub lewej stronie portalu. Będzie ciężko nie wiem czy sobie poradzę. Może ktoś ma jakiś pomysł.
 
     
kidzior


Pomógł: 1 raz
Posty: 31
Wysłany: 03-09-2006, 17:29   

Da radę to jakos przenieść na Forum, np. pod blok Reklama?
_________________
IF ('NIE DZIALA')
THEN LOOP
UNTIL ('DZIALA')
 
     
kkr


Posty: 38
Wysłany: 08-09-2006, 11:39   

Z tym jest pewnien problem jeśli chce się wyświetlać jednocześnie prywatne i publiczne galerie. Ja bym to zrobił tak:

Kod:
$sql = "SELECT p.pic_id, pic_filename, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
        FROM " . ALBUM_TABLE . " AS p
            LEFT JOIN " . USERS_TABLE . " AS u ON (p.pic_user_id = u.user_id)
            LEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON (p.pic_cat_id = ct.cat_id)
            LEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON (p.pic_id = r.rate_pic_id)
            LEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON (p.pic_id = c.comment_pic_id)
        WHERE p.pic_cat_id = 0 OR p.pic_cat_id IN ($allowed_cat) AND p.pic_approval = 1 OR ct.cat_approval = 0
        GROUP BY p.pic_id
        ORDER BY pic_time DESC
 
     
Ferguss

Posty: 17
Wysłany: 08-09-2006, 15:00   

kkr napisał/a:
Z tym jest pewnien problem jeśli chce się wyświetlać jednocześnie prywatne i publiczne galerie. Ja bym to zrobił tak:

Kod:
$sql = "SELECT p.pic_id, pic_filename, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments
        FROM " . ALBUM_TABLE . " AS p
            LEFT JOIN " . USERS_TABLE . " AS u ON (p.pic_user_id = u.user_id)
            LEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON (p.pic_cat_id = ct.cat_id)
            LEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON (p.pic_id = r.rate_pic_id)
            LEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON (p.pic_id = c.comment_pic_id)
        WHERE p.pic_cat_id = 0 OR p.pic_cat_id IN ($allowed_cat) AND p.pic_approval = 1 OR ct.cat_approval = 0
        GROUP BY p.pic_id
        ORDER BY pic_time DESC


Zgadza się, poprzednia modyfikacja nie umożliwiała pokazywanie fotek z galerii publicznych. Po Twojej jest wszystko :) .
Pozdrawiam
 
     
theqkash

Pomógł: 1 raz
Posty: 68
Wysłany: 10-09-2006, 10:21   

Ponawiam pytanie kolegi: Czy da się jakoś umieścić to w bloku reklama zamiast w portalu?
 
     
niach

Posty: 8
Wysłany: 17-02-2007, 23:39   

Czy fotki z galeri prywatnych bedą wyswietlane w postaci miniaturek w tym module ostatnio dodanych fotografy gdy zalozymy ze prywatne galerie widoczne sa jedynie dla zarejestrowanych uzytkownikow?

Czy mozna uzyskac efekt ze beda przykladowo wyswietlane 3 ostatnio dodane fotografie na stronie glownej w postaci miniaturek a gdy ktos kliknie w dana miniaturke wyskoczy informacja o potrzebie logowania?
 
     
pablo1234

Posty: 72
Wysłany: 16-03-2008, 14:22   

chaos napisał/a:
jedyny problem jaki zauważyłem to to że musi być przynajmniej jeden album w kategori publicznej. Może być pusty, inaczej nie wyświetla, nie wiem jak to porawić. Teraz męczę się z umieszczeniem fotek nad newsami w dwóch rzędach a nie po prawej lub lewej stronie portalu. Będzie ciężko nie wiem czy sobie poradzę. Może ktoś ma jakiś pomysł.


masz rozwiązanie

Kod:
#
#-----[ OPEN ]--------------------------------------------------------
#

portal.php

#
#-----[ FIND ]--------------------------------------------------------
#

// Generate the page

#
#-----[ BEFORE, ADD ]--------------------------------------------------
#

// MOD Album in Portal by Matrix - BEGIN

$album_root_path = $phpbb_root_path . 'album_mod/';
include($album_root_path . 'album_common.'.$phpEx); 

$sql = "SELECT c.*, COUNT(p.pic_id) AS count
        FROM ". ALBUM_CAT_TABLE ." AS c
            LEFT JOIN ". ALBUM_TABLE ." AS p ON c.cat_id = p.pic_cat_id
        WHERE cat_id <> 0
        GROUP BY cat_id
        ORDER BY cat_order ASC";
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
}

$catrows = array();

while( $row = $db->sql_fetchrow($result) )
{
        $catrows[] = $row;
}

$allowed_cat = '';

for ($i = 0; $i < count($catrows); $i++)
{
    $allowed_cat .= ($allowed_cat == '') ? $catrows[$i]['cat_id'] : ',' . $catrows[$i]['cat_id'];
}

if ($allowed_cat != '')
{
    $sql = "SELECT p.pic_id, p.pic_filename, p.pic_title, p.pic_desc, p.pic_user_id, p.pic_user_ip, p.pic_username, p.pic_time, p.pic_cat_id, p.pic_view_count, u.user_id, u.username, r.rate_pic_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments, MAX(c.comment_id) as new_comment
        FROM " . ALBUM_TABLE . " AS p
            LEFT JOIN " . USERS_TABLE . " AS u ON (p.pic_user_id = u.user_id)
            LEFT JOIN " . ALBUM_CAT_TABLE . " AS ct ON (p.pic_cat_id = ct.cat_id)
            LEFT JOIN " . ALBUM_RATE_TABLE . " AS r ON (p.pic_id = r.rate_pic_id)
            LEFT JOIN " . ALBUM_COMMENT_TABLE . " AS c ON (p.pic_id = c.comment_pic_id)           
        WHERE p.pic_cat_id = 0           
        GROUP BY p.pic_id
        ORDER BY pic_time DESC
            LIMIT ". $album_config['cols_per_page'];
    if( !($result = $db->sql_query($sql)) )
    {
        message_die(GENERAL_ERROR, 'Could not query recent pics information', '', __LINE__, __FILE__, $sql);
    }

    $recentrow = array();

    while( $row = $db->sql_fetchrow($result) )
    {
        $recentrow[] = $row;
    }

    if (count($recentrow) > 0)
    {
        for ($i = 0; $i < count($recentrow); $i += $album_config['cols_per_page'])
        {
            $template->assign_block_vars('recent_pics', array());

            for ($j = $i; $j < ($i + $album_config['cols_per_page']); $j++)
            {
                if( $j >= count($recentrow) )
                {
                    break;
                }

                if(!$recentrow[$j]['rating'])
                {
                    $recentrow[$j]['rating'] = $lang['Not_rated'];
                }
                else
                {
                    $recentrow[$j]['rating'] = round($recentrow[$j]['rating'], 2);
                }

                $pic_size = @getimagesize(ALBUM_UPLOAD_PATH . $recentrow[$j]['pic_filename']);
                $pic_width = ($pic_size[0] + 20);
                $pic_height = ($pic_size[1] + 25);

                if ( $album_config['fullpic_popup'] )
                {
                    $u_pic = append_sid("album_pic.$phpEx?pic_id=". $recentrow[$j]['pic_id']);
                    if ( $pic_size ) $u_pic = "javascript:displayWindow('$u_pic',$pic_width,$pic_height)";
                    else if ($album_config['fullpic_popup']) $target_blank = 'target="_blank"';

                }
                else $u_pic = append_sid("album_page.$phpEx?pic_id=". $recentrow[$j]['pic_id']);

                $template->assign_block_vars('recent_pics.recent_col', array(
                    'U_PIC' => $u_pic,
                    'THUMBNAIL' => append_sid("album_thumbnail.$phpEx?pic_id=". $recentrow[$j]['pic_id']),
                    'DESC' => $recentrow[$j]['pic_desc']
                    )
                );

                if( ($recentrow[$j]['user_id'] == ALBUM_GUEST) or ($recentrow[$j]['username'] == '') )
                {
                    $recent_poster = ($recentrow[$j]['pic_username'] == '') ? $lang['Guest'] : $recentrow[$j]['pic_username'];
                }
                else
                {
                    $recent_poster = '<a href="'. append_sid("profile.$phpEx?mode=viewprofile&". POST_USERS_URL .'='. $recentrow[$j]['user_id']) .'">'. $recentrow[$j]['username'] .'</a>';
                }

                $template->assign_block_vars('recent_pics.recent_detail', array(
                    'TITLE' => $recentrow[$j]['pic_title'],
                    'POSTER' => $recent_poster,
                    'TIME' => create_date($board_config['default_dateformat'], $recentrow[$j]['pic_time'], $board_config['board_timezone']),
                    'VIEW' => $recentrow[$j]['pic_view_count'],
                    'RATING' => ($album_config['rate'] == 1) ? ( '<a href="'. append_sid("album_rate.$phpEx?pic_id=". $recentrow[$j]['pic_id']) . '">' . $lang['Rating'] . '</a>: ' . $recentrow[$j]['rating'] . '<br />') : '',
                    'COMMENTS' => ($album_config['comment'] == 1) ? ( '<a href="'. append_sid("album_comment.$phpEx?pic_id=". $recentrow[$j]['pic_id']) . '">' . $lang['Comments'] . '</a>: ' . $recentrow[$j]['comments'] . '<br />') : '',
                    'IP' => ($userdata['user_level'] == ADMIN) ? '' . $lang['IP_Address'] . ': <a href="' . $board_config['address_whois'] . '' . decode_ip($recentrow[$j]['pic_user_ip']) . '" target="_blank">' . decode_ip($recentrow[$j]['pic_user_ip']) .'</a><br />' : ''
                    )
                );
            }
        }
    }
    else
    {
        // No Pics Found
        $template->assign_block_vars('no_pics', array());
    }
}
else
{
    // No Cats Found
    $template->assign_block_vars('no_pics', array());
}

$template->assign_vars(array(
    'L_CATEGORY' => $lang['Category'],
    'L_PICS' => $lang['Pics'],
    'L_LAST_PIC' => $lang['Last_Pic'],

    'U_YOUR_PERSONAL_GALLERY' => append_sid("album_personal.$phpEx?user_id=". $userdata['user_id']),
    'L_YOUR_PERSONAL_GALLERY' => $lang['Your_Personal_Gallery'],

    'U_USERS_PERSONAL_GALLERIES' => append_sid("album_personal_index.$phpEx"),
    'L_USERS_PERSONAL_GALLERIES' => $lang['Users_Personal_Galleries'],

    'S_COLS' => $album_config['cols_per_page'],
    'S_COL_WIDTH' => (100/$album_config['cols_per_page']) . '%',
    'TARGET_BLANK' => $target_blank,
    'L_RECENT_PUBLIC_PICS' => $lang['Recent_Public_Pics'],
    'L_NO_PICS' => $lang['No_Pics'],
    'L_PIC_TITLE' => $lang['Pic_Title'],
    'L_VIEW' => $lang['View'],
    'L_POSTER' => $lang['Poster'],
    'L_POSTED' => $lang['Posted'],
    'L_PUBLIC_CATS' => $lang['Public_Categories'])
);

// MOD Album in Portal by Matrix - END


#
#-----[ OPEN ]--------------------------------------------------------
#

/templates/xxx/portal_body.tpl  (gdzie xxx to nazwa stylu)

#
#-----[ FIND ]--------------------------------------------------------
#

                  {module12}
               </td>
            </tr>
         </table>
      </td>
      {END_LEFT_PANEL_OFF}
      <td valign="top">

#
#-----[ AFTER, ADD ]--------------------------------------------------
#

<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
  <tr>
    <td height="25" width="100%" class="catHead" align="center" colspan="{S_COLS}" nowrap="nowrap"><span class="genmed"><b>{L_RECENT_PUBLIC_PICS}</b></span></td>
  </tr>
  <!-- BEGIN no_pics -->
  <tr>
    <td class="row1" align="center" colspan="{S_COLS}" height="50"><span class="gen">{L_NO_PICS}</span></td>
  </tr>
  <!-- END no_pics -->
  <!-- BEGIN recent_pics -->
  <tr>
  <!-- BEGIN recent_col -->
    <td class="row1" width="{S_COL_WIDTH}" align="center"><a href="{recent_pics.recent_col.U_PIC}" {TARGET_BLANK}><img src="{recent_pics.recent_col.THUMBNAIL}" border="0" alt="{recent_pics.recent_col.DESC}" title="{recent_pics.recent_col.DESC}" vspace="10" /></a></td>
  <!-- END recent_col -->
  </tr>
  <tr>
  <!-- BEGIN recent_detail -->
    <td class="row2"><span class="gensmall">{L_PIC_TITLE}: {recent_pics.recent_detail.TITLE}<br />
      {L_POSTER}: {recent_pics.recent_detail.POSTER}<br />{L_POSTED}: {recent_pics.recent_detail.TIME}<br />
      {L_VIEW}: {recent_pics.recent_detail.VIEW}<br />{recent_pics.recent_detail.RATING}{recent_pics.recent_detail.COMMENTS}{recent_pics.recent_detail.IP}</span></td>
  <!-- END recent_detail -->
  </tr>
  <!-- END recent_pics -->
</table>
<br />

#
#-----[ DIY INSTRUCTIONS ]------------------------------------------
#

Obowiązkowo ustaw:
- w PA -> Ogólne -> Ustawienia portalu -> Rozmieszczenie modułów -> "Ostatnie zdjęcia" (z nr modułu 16 chyba) -> daj na "pusty" (wyłączyć)



#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------------
#
# EoM
 
     
Morfeusz_2005


Pomógł: 2 razy
Posty: 227
Wysłany: 08-11-2008, 16:21   

Mam pytanie. Czy ten skrypt umożliwia pokazywanie na stronie głownej Albumu ostatnie zdjęcia z Pod Kategorii? Bo niestety pokazuje tylko z albumów bezpośrednich ostatnie zdjęcia.
 
     
Gadatliwa Kasia 

   
slajt0

Posty: 1
Wysłany: 14-04-2009, 21:20   

Mógłby ktoś, kto się na tym zna, przejrzeć ten temat na nowo? Bo po spróbowaniu wszystkich propozycji umieszczonych w tym temacie, stwierdzam, że żadna z nich nie działa. W galerii pokazywane są u mnie nadal "Ostatnie zdjęcia" ale tylko z galerii publicznych, a chcę aby były tam ostatnio dodane zdjęcia i z galerii publicznych, jak i z prywatnych.

Z góry dziękuję, pozdrawiam.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,2 sekundy. Zapytań do SQL: 14
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę