Fotografika | Foto forum

Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?
Sierpień 28, 2008, 22:20:42


Zaloguj się podając nazwę użytkownika, hasło i długość sesji


więcej informacji tutaj
Uśmiech Pierwszy szablon udostępniony publicznie. Uśmiech
Szablon fotoan black v1.0 jest kompatybilny z galerią 4images wersji 1.7.3.
Szablon zawiera również polską wersję językową v.2.0
  więcej tutaj...
807 wiadomości w 184 wątkach, wysłane przez 152 użytkowników
Najnowszy użytkownik: mpaw82
+  Fotografika | Foto forum
|-+  Galeria 4images
| |-+  4images ... [MOD] modyfikacje (Moderator: andreoid)
| | |-+  MOD - Prywatne wiadomości + BBcode2
0 użytkowników i 3 Gości przegląda ten wątek. « poprzedni następny »
Strony: [1] Do dołu Drukuj
Autor Wątek: MOD - Prywatne wiadomości + BBcode2  (Przeczytany 38220 razy)
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« : Październik 26, 2006, 04:57:30 »

Mod - Prywatne wiadomości + BBcode2

oryginalny tytuł

[MOD] PMv2 Tutorial Republished here
Autor:           V@no
Aktualizacja: Mark Gunter

Część 1

Bardzo pomocna modyfikacja dla galerii, które mają charakter portalowy.
Modyfikacja ta, umożliwia nam wymiane korespondencji pomiędzy użytkownikami
i informuje nas poprzez e-mail, o nowych wiadomościach w skrzynce pocztowej.
Została również dołączona nowsza i bogadsza wercja edytora BBcode 2 oraz buziaki.
W administracyjnym panelu kontrolnym możemy dokonać ustawień różnych opcji.

Aby przetestować MOD zarejestruj się na stronie demo
Demo

Instalacja: średnio zaawansowana
Czas: około 30 minut

Zmienione zostaną następujące pliki:

  • member.php
  • details.php
  • logout.php 
  • includes/constants.php
  • includes/page_header.php
  • includes/functions.php
  • includes/paging.php
  • includes/db_field_definitions.php
  • lang/polish/main.php
  • lang/polish/admin.php

Zmienione zostaną następujące pliki HTML w Twoim szablonie (templates)

  • templates/<twoj_szablon>/member_editprofile.html
  • templates/<twoj_szablon>/member_profile.html
  • templates/<twoj_szablon>/comment_bit.html
  • templates/<twoj_szablon>/header.html
  • templates/<twoj_szablon>/style.css

Nowe pliki

  • pm.php
  • smiles.php
  • bbcode2.js

Nowe pliki w Twoim szablonie

  • templates/<twoj_szablon>/pm.html
  • templates/<twoj_szablon>/pm_folder.html
  • templates/<twoj_szablon>/pm_view.html
  • templates/<twoj_szablon>/pm_new.html
  • templates/<twoj_szablon>/pm_delete.html
  • templates/<twoj_szablon>/pm_finduser.html
  • templates/<twoj_szablon>/pm_perpage_dropdown_form.html
  • templates/<twoj_szablon>/bbcode2.html

Nowy szablon e-mailowy

  • lang/polish/email/pm_notify.html

katalogi z nową grafiką

  • templates/<twoj_szablon>/images
  • templates/<twoj_szablon>/smiles

Pamiętaj o zabezpieczeniu kopi bazy danych mySQL.
Modyfikacja rozszerza bazę danych

Pobierz modyfikację tutaj

Rozpakuj paczkę i załaduj wszystkie pliki i foldery na serwer,
pamiętając o zachowaniu ścieżek:
/bbcode2.js
/pm.php
/pm_install.php
/smiles.php
/includes/paging.php  stary plik zostanie przepisany
/lang/polish/email/pm_notify.html
/templates/<twoj_szablon>/bbcode2.html
/templates/<twoj_szablon>/pm.html
/templates/<twoj_szablon>/pm_delete.html
/templates/<twoj_szablon>/pm_finduser.html
/templates/<twoj_szablon>/pm_folder.html
/templates/<twoj_szablon>/pm_new.html
/templates/<twoj_szablon>/pm_perpage_dropdown_form.html
/templates/<twoj_szablon>/pm_view.html
/templates/<twoj_szablon>/images/
/templates/<twoj_szablon>/smiles/
« Ostatnia zmiana: Luty 16, 2007, 16:47:06 wysłane przez andreoid » Zapisane

:: Canon EOS 20 D..Canon EOS 350 D..Obiektywy:Canon EF 70-200mm f4.0 L USM..EF 28-135mm f3.5/5.6 IS USM..EF S 18-55 Kit..(poluje na Sigma 150mm f2.8 EX DG A
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« Odpowiedz #1 : Listopad 08, 2006, 23:28:26 »

Część 2

Instalacja:

Krok 1
Otwórz plik /includes/constants.php i na samym końcu przed znakiem
Kod:
?>

dodaj
Kod:
// Advanced BBCode can be only "bbcode" or "bbcode2" SETTING TO OTHER VALUES WILL CAUSE FATAL ERROR!!!
define('BBCODE', "bbcode2");
//PM
define('PM_TABLE', $table_prefix.'pm');
//do not modify next 6 lines!
define('PM_RDLT', 0); //Recipient deleted message (message only in: Sender's Setbox)
define('PM_SDLT', 1); //Sender deleted message (message only in: Recipient's Inbox)
define('PM_SENT', 2); //Recipient read message (message in: Sender's Sentbox and Recipient's Inbox)
define('PM_USDLT', 3); //Recipient has not read message (message only in: Recipient's Inbox)
define('PM_UNREAD', 5); //Recipient has not read message (message in: Sender's Outbox and Recipient's Inbox - New Message)
define('PM_UNLIMITED', -1);

Krok 2
Otwórz plik  /lang/polish/main.php  i na samym końcu przed znakiem
Kod:
?>

dodaj
Kod:
//-----------------------------------------------------
//--- PM (Private Messenging) -------------------------
//-----------------------------------------------------
$lang['pm'] = "Prywatne wiadomości";
$lang['pm_inbox'] = "Skrzynka";
$lang['pm_outbox'] = "Wysłane";
$lang['pm_sentbox'] = "Otrzymane";
$lang['pm_link'] = "&nbsp;&nbsp;&nbsp;masz<br />&raquo&nbsp;<b>{msg_new_count}</b> nową(e) wiadomość(ci)<br />&nbsp;&nbsp;&nbsp;tu jest Twoja <b>{inbox}</b>.";
$lang['pm_short'] = "PW";
$lang['pm_error'] = "Błąd";
$lang['pm_error_to'] = "Musisz wybrać użytkownika.";
$lang['pm_error_to_notfound'] = "U?ytkownik nie odnaleziony.";
$lang['pm_error_subject'] = "Musisz wpisać temat.";
$lang['pm_error_message'] = "Musisz wpisać teks wiadomości.";
$lang['pm_error_folder'] = "Nie wybrano katalogu.";
$lang['pm_error_id'] = "Nie pokazuj.";
$lang['pm_error_delete'] = "Nie usunięto.";
$lang['pm_compose'] = "Sporządź";
$lang['pm_delete'] = "Usuń";
$lang['pm_delete_selected'] = "Zaznaczone usuń";
$lang['pm_delete_all'] = "Usuń całość";
$lang['pm_delete_success'] = "Ta wiadomość została pomyślnie usunięta";
$lang['pm_delete_confirm'] = "Jesteś pewny, że chcesz usunąć wiadomość z katalogu <b>".$lang['pm_'.$mode]."</b>?";
$lang['pm_delete_confirm_select'] = "Jesteś pewny, że chcesz usunąć zaznaczone wiadomości z katalogu <b>".$lang['pm_'.$mode]."</b>?";
$lang['pm_delete_confirm_all'] = "Czy jesteś pewny, że chcesz usunąć wszystkie wiadomości <b>".$lang['pm_'.$mode]."</b>?";
$lang['pm_new'] = "Napisz nową PW";
$lang['pm_new_messages'] = "Nowe wiadomości";
$lang['pm_new_is_one'] = "Masz <b>{count}</b> nowe"; //You have xx new message(s)
$lang['pm_message_single'] = "wiadomość";
$lang['pm_message_plural'] = "wiadomości";
$lang['pm_select_user'] = "Wybierz użytkownika";
$lang['pm_sent_success'] = "Ta wiadomość została wysłana poprawnie";
$lang['pm_save_success'] = "Ta wiadomość została poprawnie aktualizowana";
$lang['pm_redirect'] = "Proszę chwileczkę zaczekać";
$lang['pm_empty'] = "Nie ma wiadomości w tym katalogu";
$lang['pm_reply'] = "Odpowiedź";
$lang['pm_view'] = "Pokaż";
$lang['pm_mark'] = "Zaznacz";
$lang['pm_edit'] = "Edytuj";
$lang['pm_subject'] = "Temat";
$lang['pm_message'] = "Wiadomość";
$lang['pm_to'] = "Do (adresat):";
$lang['pm_date'] = "Data";
$lang['pm_send'] = "Wyślij";
$lang['pm_preview'] = "Podgląd";
$lang['pm_status'] = "Status";
$lang['pm_from'] = "od";
$lang['pm_html'] = "Wyłącz HTML w tej wiadomości";
$lang['pm_bbcode'] = "Wyłącz BBCode w tej wiadomości";
$lang['pm_smiles'] = "Wyłącz buziaczki (smiles) w tej wiadomości";
$lang['pm_perpage'] = "wiadomości na stronę";
$lang['pm_user_pm'] = "PW";
$lang['pm_user_pm_alt'] = "Wyślij prywatną wiadomość";
$lang['pm_total'] = "wszystkie wiadomości";
$lang['pm_received'] = "Otrzymałeś";
$lang['pm_quote'] = "Cytat";
$lang['pm_error_save'] = "Błąd/zakłucenia w zapisie wiadomości. (wiadomość mogła zostać zapisana)";
$lang['pm_error_notfound'] = "Nie można znaleźć wiadomości.";
$lang['pm_paging_stats'] = "Masz {total_cat_images} wiadomość(i) {new} na {total_pages} stronie(ach) w opcji {box}.<br />Wyświetlone wiadomości: od {first_page} do {last_page}.";
$lang['pm_email'] = "Powiadomienie przez email o nowej wiadomości";
$lang['pm_popup'] = "Pop up okno z powiadomieniem o nowej wiadomości";
$lang['pm_popup_confirm'] = "Masz nową prywatną wiadomość. Kliknij OK aby ją zobaczyć, lub na Anuluj, aby anulować przegląd.";
$lang['pm_popup_newwindow'] = "Otworzyć w nowym oknie?\\n\\n(Jeżeli klikniesz Anuluj, katalog Skrzynka otworzy się w tym samym oknie.)";
$lang['pm_email_new'] = "Nowe PW";
$lang['pm_comment_quote'] = "Comment posted by";
$lang['pm_mark_read'] = "Zaznacz jako przeczytane";
$lang['pm_storage'] = "Twoja {box} jest {size}% pełna";
$lang['pm_storage_unlimited'] = "Twoja {box} jest nielimitowana";
$lang['pm_user_limit_reached'] = "Przepraszam, ale skrzynka użytkownika {user}, jest już pełna";
$lang['pm_inbox_limit'] = "Inbox messages limit";
$lang['pm_sentbox_limit'] = "Sentbox messages limit";
$lang['pm_finduser'] = "Znajdź użytkownika";
$lang['pm_finduser_notfound'] = "Nie znaleziono użytkownika";
$lang['pm_finduser_wildcards'] = "Use * as a wildcard for partial matches";
$lang['pm_select'] = "Select";
$lang['pm_finduser_many'] = "Znaleziono więcej użytkowników z takimi inicjałami. Proszę wybierz jednego z nich.";
$lang['pm_user_id_priority'] = "User name <b>selection</b> has higher priority then user name <b>field</b>.";
$lang['pm_user_inbox'] = "Inbox limit<span class=\"smalltext\"><br />set to <font color=red><b>0</b></font> to use global settings<br>or <font color=red><b>-1</b></font> for unlimited</span>";
$lang['pm_user_sentbox'] = "Sentbox limit<span class=\"smalltext\"><br />set to <font color=red><b>0</b></font> to use global settings<br>or <font color=red><b>-1</b></font> for unlimited</span>";
$lang['pm_toosoon'] = "Sorry, you can not send messages so frequently";
$lang['pm_toosoon_user'] = "Przepraszam, ale raz za razem, nie możesz wysyłać wiadomości do tego samego użytkownika.";
$lang['pm_next'] = "Następna &raquo;";
$lang['pm_prev'] = "&laquo; Poprzednia";

//-----------------------------------------------------
//--- BBCode2 -----------------------------------------
//-----------------------------------------------------
$lang['code'] = "Kod";
$lang['quote'] = "Cytat";
$lang['wrote'] = "napisa";
$lang['close_tags'] = "Zamknij wszystkie tegi";
$lang['close_window'] = "Zamknij okno";
$lang['all_emoticons'] = "Wszystkie buziaki";
$lang['all'] = "Wszystkie";
$lang['bbc_help_default'] = "Tip: Styles can be applied quickly to selected text.";
$lang['bbc_help'] = array(
      "b" => "Tekst pogrubiony: [b]tekst[/b]  (alt+b)",
      "i" => "Tekst pochylony: [i]tekst[/i]  (alt+i)",
      "u" => "Tekst podkreślony: [u]tekst[/u]  (alt+u)",
      "q" => "Cytowany tekst: [quote]tekst[/quote] or [quote=name]tekst[/quote] (alt+q)",
      "l" => "Tworzenie list: [list]tekst[/list] (alt+l)",
      "o" => "Ordered list: [list=]tekst[/list]  (alt+o)",
      "p" => "Wstawianie obrazków: [img]http://image_url[/img]  (alt+p)",
      "w" => "Tworzenie linków: [url]http://url[/url] or [url=http://url]URL tekst[/url]  (alt+w)",
      "a" => "Zamknij wszystkie otwarte BBCODE tegi",
      "s" => "Kolorowy tekst: [color=red]tekst[/color]  Tip: you can also use color=#FF0000",
      "f" => "Wysokość tekstu: [size=x-small]small tekst[/size]",
      "sh" => "Cień: [shadow=red,left,1]tekst[/shadow]",
      "g" => "Blask: [glow=red,2,1]tekst[/glow]",
      "al" => "Pozycjonowanie: [align=center]tekst[/align]",
      "t" => "Tekst dalekopisu: [tt]tekst[/tt]",
      "ff" => "Rodzaj tekstu: [font=verdana]tekst[/font]",
      "h" => "Linia pozioma: [hr]",
      "m" => "Przesuwanie: [move]tekst[/move]",
      "fl" => "Flash: [flash=200,200]URL[/flash]",
      "sb" => "Dolny tekst: [sub]tekst[/sub]",
      "sp" => "Górny tekst: [sup]tekst[/sup]",
      "st" => "Tekst przekreślony: [s]tekst[/s] (alt+s)",
      "e" => "Link emailowy: [email]name@domain[/email] or [email=name@domain]email text[/email]  (alt+e)",
      "sm" => "Buziaczki / Uśmieszki / Smiles"
);
Większość tekstu, jest przetłumaczona słowo w słowo,  może to wywoływać brak logiki w polskiej pisowni.
Dlatego proszę o zgłaszanie ewentualnych zmian w tekście, gdzie nieścisłości wynikną w trakcie używania modyfikacji.

Krok 3
Otwórz plik /admin/settings.php
W pliku settings.php, musimy ustalić najpierw ostatnio zainstalowaną grupę opcji.
Jeżeli nie instalowaliśmy do tej pory żadnej modyfikacji, której opcje ustawiane są w administracyjnym panelu kontrolnym, to w standartowej instalacji 4images ostatnią grupą opcji jest grupa 7, odszukaj tą grupę używając fragmentu kodu
Kod:
show_table_separator($setting_group
Bardzo ważną sprawą jest to, abyśmy byli pewni numeru, ostaniej zainstalowanej grupy.
Np.: jeżeli ostatnią zainstalowaną grupą , jest grupa 7, to nasza nowa grupa będzie miała numer 8


odszukaj
Kod:
show_form_footer($lang['save_changes'], "", 2);

i przed tym kodem dodaj
Kod:
show_table_separator($setting_group[XX], 2, "#setting_group_XX");
  show_setting_row("pm", "radio");
  show_setting_row("pm_html", "radio");
  show_setting_row("pm_bbcode", "radio");
  show_setting_row("pm_img", "radio");
  show_setting_row("pm_inbox");
  show_setting_row("pm_sentbox");

w miejsce XX wstaw numer nowej grupy wynikający z jej kolejności.

Krok 4

Otwórz /lang/polish/admin.php i przed znakiem
Kod:
?>

dodaj
Kod:
/*-- Setting-Group XX --*/
$setting_group[XX]="Prywatne wiadomości";
$setting['pm'] = "Zezwól na wysyłanie prywatnych wiadomości";
$setting['pm_html'] = "Zezwól na HTML w prywatnych wiadomościach";
$setting['pm_bbcode'] = "Zezwól na BBCODE w prywatnych wiadomościach";
$setting['pm_img'] = "Zezwól na [img] tag w prywatnych wiadomościach";
$setting['pm_inbox'] = "Maksymalna ilość wiadomości w skrzynce<span class=\"smalltext\"><br />[Limit] wpisz <b>0</b> jeżeli wysyłanie wiadomości ma być nieograniczone </span>";
$setting['pm_sentbox'] = "Maksymalna ilość wiadomości wysyłanych<span class=\"smalltext\"><br />[Limit] wpisz <b>0</b> jeżeli wysyłanie wiadomości ma być nieograniczone </span>";
w miejsce XX wstaw numer nowej grupy wynikający z kroku 3

Krok 5

Otwórz plik /includes/functions.php i odszukaj
Kod:
function format_text

i przed tym kodem dodaj
Kod:
/*
jest to znak używany do komentowania w kodach PHP (w ten sposób możemy wyłączyć fragmenty skryptu, nie usuwając go z pliku)

odszukaj
Kod:
return $text;
}

i za tym kodem dodaj ten
Kod:
*/

Nie zamykaj pliku functions.php
« Ostatnia zmiana: Luty 16, 2007, 17:52:37 wysłane przez andreoid » Zapisane

:: Canon EOS 20 D..Canon EOS 350 D..Obiektywy:Canon EF 70-200mm f4.0 L USM..EF 28-135mm f3.5/5.6 IS USM..EF S 18-55 Kit..(poluje na Sigma 150mm f2.8 EX DG A
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« Odpowiedz #2 : Listopad 08, 2006, 23:39:02 »

Część 3
Krok 6

w tym samym pliku, na końcu przed znakiem
Kod:
?>

dodaj
Kod:
//---Code added for PM MOD------
function strip_brackets($text){
  global $lang;
   $code_entities_match = array('#<#', '#>#', '#"#', '#:#', '#\[#', '#\]#', '#\(#', '#\)#', '#\{#', '#\}#');
   $code_entities_replace = array('&lt;', '&gt;', '&quot;', ':', '[', ']', '(', ')', '&#123;', '&#125;');
  return preg_replace($code_entities_match, $code_entities_replace, $text);
}
function thumb($id, $dim = 50, $align = "bottom") {
  global $site_db, $user_info, $site_sess;
  if (empty($dim)) $dim = 50;
  if (empty($align)) $align = "bottom";
  $text = "";
  $sql = "SELECT image_name, image_id, image_media_file, image_thumb_file, cat_id
          FROM ".IMAGES_TABLE."
          WHERE image_id = ".$id;
  if ($row = $site_db->query_firstrow($sql)) {
    if (!get_file_path($row['image_thumb_file'], "thumb", $row['cat_id'], 0, 0)) {
      $file_src = ICON_PATH."/".get_file_extension($row['image_media_file']).".gif";
    }else{
      $file_src = get_file_path($row['image_thumb_file'], "thumb", $row['cat_id'], 0, 1);
    }
    $image_info = @get_imagesize($file_src, $info);
    $width = $image_info[0];
    $height = $image_info[1];
    $wh = get_resize($image_info[0], $image_info[1], $dim, $dim);
    $text = "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$row['image_id'])."\"><img width = \"".$wh[0]."\" height=\"".$wh[1]."\" src=\"".$file_src."\" alt=\"".str_replace("\"", "&quot;", $row['image_name'])."\" align=\"".$align."\" border=\"1\" /></a>";
  }
  return $text;
}
function bb_code($text){
  global $lang;
  $text = strip_brackets($text);
  $text = str_replace("  ", "&nbsp; ", $text);
   // now Replace 2 spaces with " &nbsp;" to catch odd #s of spaces.
   $text = str_replace("  ", " &nbsp;", $text);
   // Replace tabs with "&nbsp; &nbsp;" so tabbed code indents sorta right without making huge long lines.
   $text = str_replace("\t", "&nbsp; &nbsp;", $text);

  $text = "<div class=\"codehead\"><b>".$lang['code'].":</b><div class=\"codeblock\">".stripslashes($text)."</div></div>";
  return $text;
}
function format_text($text, $html = 0, $word_wrap = 0, $bbcode = 0, $bbcode_img = 0, $smiles = 0, $brackets = 1) {
  global $lang;
  $text = trim($text);
  $text = str_replace("\\", "\\\\", $text);

  if ($html == 0) {
    $text = str_replace("&lt;", "&amp;lt;", $text);
    $text = str_replace("&gt;", "&amp;gt;", $text);
    $text = str_replace("<", "&lt;", $text);
    $text = str_replace(">", "&gt;", $text);
  }
//   $text = preg_replace("/(\[)(php)(])(\r\n)*(.*)(\[\/php\])/esiU", "phphighlite('\\5')", $text);
  $text = ($smiles) ? smiles($text) : $text;
  if ($bbcode == 1) {
     $text = preg_replace("/\[php\](.*?)\[\/php\]/esi", "phphighlite('\\1')", $text);
      $text = preg_replace("/\[code\](.*?)\[\/code\]/esi", "bb_code('\\1')", $text);
  }
  if ($brackets) {
     $entities_match = array('{', '}');
     $entities_replace = array('&#123;', '&#125;');
    $text = str_replace($entities_match, $entities_replace, $text);
  }

  if ($bbcode == 1) {
      $text = preg_replace("/\[thumb=([0-9]+)(,([0-9]+)?)?(,([a-zA-Z]+))?\]/esi","thumb('\\1','\\3','\\5')",$text);
      $search_array = array(
         "/\[b\](.*?)\[\/b\]/si",
         "/\[i\](.*?)\[\/i\]/si",
         "/\[u\](.*?)\[\/u\]/si",
         "/\[email\](.*?)\[\/email\]/si",
         "/\[email=(.*?)\](.*?)\[\/email\]/si",
         "/\[quote=(.*?)\](.*?)/si",
         "/\[quote\](.*?)/si",
         "/\[\/quote\]/si",
         "/\[url=(.*?)\](.*?)\[\/url\]/si",
         "/\[url\](.*?)\[\/url\]/si",
         "/\[urlb=(.*?)\](.*?)\[\/urlb\]/si",
         "/\[urlb\](.*?)\[\/urlb\]/si",
         "/\[sub\](.*?)\[\/sub\]/si",
         "/\[sup\](.*?)\[\/sup\]/si",
         "/\[color=(.*?)\](.*?)\[\/color\]/si",
         "/\[size=(.*?)\](.*?)\[\/size\]/si",
         "/\[tt\](.*?)\[\/tt\]/si",
         "/\[s\](.*?)\[\/s\]/si",
         "/\[move\](.*?)\[\/move\]/si",
//         "/\[align=(.*?)\](.*?)\[\/align\]/si",
         "/\[align=(.*?)\](.*?)\[\/align\](.<br \/>)?/si",
         "/\[font=(.*?)\](.*?)\[\/font\]/si",
         "/\[shadow=(.*?)\,(.*?)\,(.*?)\](.*?)\[\/shadow\]/si",
         "/\[glow=(.*?)\,(.*?)\,(.*?)\](.*?)\[\/glow\]/si",
         "/\[quote2=(.*?)\,(.*?)(\(.*?\))?\](.*?)/si",
         "/\[\/quote2\]/si",
         "/(\[)(list)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/list)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU",
      "/(\[)(list)(])(.*)(\[\/list\])/siU",
      "/(\[\*\])/siU",
        "/javascript:/si",
        "/about:/si"
      );
      $replace_array = array(
         "<b>\\1</b>",
         "<i>\\1</i>",
         "<u>\\1</u>",
         "<a href=mailto:\\1>\\1</a>",
         "<a href=mailto:\\1>\\2</a>",
      "<div class=\"quotehead\"><b>\\1</b> ".$lang['wrote'].":<div class=\"quoteblock\">\\2",
      "<div class=\"quotehead\"><b>".$lang['quote'].":</b><div class=\"quoteblock\">\\1",
      "</div></div>",
         "<a href=\"\\1\" target=_blank>\\2</a>",
         "<a href=\\1 target=_blank>\\1</a>",
         "<b><a href=\"\\1\" target=_blank>\\2</a></b>",
         "<b><a href=\\1 target=_blank>\\1</a></b>",
         "<sub>\\1</sub>",
         "<sup>\\1</sup>",
         "<font color=\"\\1\">\\2</font>",
         "<font style=\"font-size: \\1px\">\\2</font>",
         "<tt>\\1</tt>",
         "<s>\\1</s>",
         "<marquee>\\1</marquee>",
         "<div align=\"\\1\">\\2</div>",
         "<font face=\"\\1\">\\2</font>",
         "<font style=\"Filter: Shadow(color=\\1, Direction=\\2); Width=\\3px;\">\\4</font>",
         "<font style=\"Filter: Glow(color=\\1, Strength=\\2); Width=\\3px;\">\\4</font>",
         "<div class=\"quotehead\">\\1<b>\\2</b>\\3:<div class=\"quoteblock\">\\4",
         "</div></div>",
      "<ol type=\"\\5\">\\7</ol>",
      "<ul>\\4</ul>",
      "<li>",
      "java script",
      "about :"

      );
     preg_match_all("/(\[quote=(.+?)\])|(\[quote\])/", $text, $regs);
     $quoteopen =  count($regs[0]);
     preg_match_all("/(\[\/quote\])/", $text, $regs);
     $quoteclose =  count($regs[0]);
 
     if($quoteopen > $quoteclose) {
        $toclose = $quoteopen - $quoteclose;
        for($i = 0 ; $i < $toclose ; $i++) {
           $text .= "[/quote]";
        }
     } elseif($quoteclose > $quoteopen) {
        $toopen = $quoteclose - $quoteopen;
        for($i = 0 ; $i < $toopen ; $i++) {
           $text = "[quote]$text";
        }
     }
    $text = preg_replace($search_array, $replace_array, $text);
    if (!$bbcode_img)  {
        $text = preg_replace("/\[img\](.*?)\[\/img\]/si", "<a href=\"\\1\" target=\"_blank\">\\1</a>", $text);
         $text = preg_replace("/\[img=(.*?)\,(.*?)\](.*?)\[\/img\]/si","<a href=\"\\3\" target=\"_blank\">\\3</a>",$text);
         $text = preg_replace("/\[img height=(.*?)\ width=(.*?)\](.*?)\[\/img\]/si","<a href=\"\\3\" target=\"_blank\">\\3</a>",$text);
         $text = preg_replace("/\[img width=(.*?)\ height=(.*?)\](.*?)\[\/img\]/si","<a href=\"\\3\" target=\"_blank\">\\3</a>",$text);
         $text = preg_replace("/\[flash=(.*?)\,(.*?)\](.*?)\[\/flash\]/si","<a href=\"\\3\" target=\"_blank\">\\3</a>",$text);
    }else{
        $text = preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\"\\1\" border=\"0\">", $text);
         $text = preg_replace("/\[img=(.*?)\,(.*?)\](.*?)\[\/img\]/si","<img src=\"\\3\" height=\"\\2\" width=\"\\1\">",$text);
         $text = preg_replace("/\[img height=(.*?)\ width=(.*?)\](.*?)\[\/img\]/si","<img src=\"\\3\" height=\"\\1\" width=\"\\2\">",$text);
         $text = preg_replace("/\[img width=(.*?)\ height=(.*?)\](.*?)\[\/img\]/si","<img src=\"\\3\" width=\"\\1\" height=\"\\2\">",$text);
         $text = preg_replace("/\[flash=(.*?)\,(.*?)\](.*?)\[\/flash\]/si","<object classid=\"clsid: D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\\1 height=\\2><param name=movie value=\\3><param name=play value=true><param name=loop value=true><param name=quality value=high><embed src=\\3 width=\\1 height=\\2 play=true loop=true quality=high></embed></object>",$text);
    }
     $text = str_replace("[hr]", "<hr>", $text);
  }
  $text = replace_url($text);
  if ($word_wrap && $text != "") {
    $text = preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$word_wrap."})/i", " \\1\n", $text);
  }
  $text = str_replace("\n", "<br />", $text);
  $text = str_replace("\\'", "'", $text);
  $text = str_replace("\\\"", "&quot;", $text);
  return replace_badwords(stripslashes($text));
}

function phphighlite($code) {
  //PHP 4 only

  if (floor(phpversion())<4) {
    $buffer=$code;
  } else {
//      $code = str_replace("<br>", "", $code);
//      $code = str_replace("<br />", "", $code);
      $code = str_replace("&gt;", ">", $code);
      $code = str_replace("&lt;", "<", $code);

      $code = str_replace("&amp;", "&", $code);
      $code = str_replace('$', '\$', $code);
      $code = str_replace('\n', '\\\\n', $code);
      $code = str_replace('\r', '\\\\r', $code);
      $code = str_replace('\t', '\\\\t', $code);

      $code = stripslashes($code);

      if (!strpos($code,"<?") and substr($code,0,2)!="<?") {
         $code="<?\n".trim($code)."\n?>";
         $addedtags=1;
      }
      ob_start();
      $oldlevel=error_reporting(0);
      highlight_string($code);
      error_reporting($oldlevel);
      $buffer = ob_get_contents();
      ob_end_clean();
      if ($addedtags) {
        $openingpos = strpos($buffer,'&lt;?');
        $closingpos = strrpos($buffer, '?');
        $buffer=substr($buffer, 0, $openingpos).substr($buffer, $openingpos+5, $closingpos-($openingpos+5)).substr($buffer, $closingpos+5);
      }
//      $buffer = str_replace("&quot;", "\"", $buffer);
  }
  return "<div class=\"codehead\"><b>PHP:</b><div class=\"codeblock\">".preg_replace("/<code><font color=\"#000000\">\n<font color=\"(.*)\">\n/si", "<code><font color=\"#000000\"><font color=\"\\1\">", str_replace("\n</font>\n</code>", "</font></code>", $buffer))."</div></div>";
}
//--------------------------
//--------Smiles------------
//--------------------------
function smiles($text,$enablesmilies = 1) {
  global $smileyfromcache, $smileytocache;
  $imagesdir = TEMPLATE_PATH."/smiles";
  if(gettype($smileyfromcache) != "array") {
   $smilesfrom = get_smiles();
   foreach ($smilesfrom as $key => $val) {
           $smileyfromcache[] ='/(((>[^<]*)|(^[^<]*))([\s\n\r]|^|<br( \/)?[>]))('.str_replace('|','\|', quotemeta(str_replace("<", "&lt;", str_replace(">", "&gt;", str_replace("\/", "\\\/", $key))))).')/s';
           $smileytocache[] = "\\1<img src=\"$imagesdir/$val.gif\" alt=\"\" border=\"0\">";
   }
  }
  if ($enablesmilies) {
   $text = parsesmilies($text);
  }
  return $text;
}
function parsesmilies($text) {
  global $smileyfromcache, $smileytocache;
  $oldtext = "";
  while($oldtext != $text) {
   $oldtext = $text;
   $text = preg_replace($smileyfromcache, $smileytocache, $text);
  }
  return $text;
}
function get_smiles(){
  $smilesfrom = array(
      ":)" => "happy",
      "(:" => "happy",
      ":-))" => "very_happy",
      ":lol:" => "very_happy",
      ":D" => "big_smile",
      ":O" => "surprised",
      ":o" => "surprised",
      ";)" => "wink",
      ":wink:" => "wink",
      ":(" => "sad",
      ":*(" => "very_sad",
      ":cry:" => "very_sad",
      ":confused:" => "confused",
      ":shy:" => "embarrassed",
      ":vicious:" => "vicious",
      ":|" => "undecided",
      ":pig:" => "pig",
      ":P" => "tongue",
      ":p" => "tongue",
      "B)" => "cool",
      ":B" => "nerd",
      "X(" => "angry",
      ":X" => "in_love",
      "|)" => "asleep",
      "=;" => "talk_to_hand",
      "@};-" => "rose",
      "):)" => "cowboy",
      "8X" => "skull",
      "=:)" => "alien",
      "0:)" => "angel",
      ":devil:" => "devil",
      ":clown:" => "clown",
      "3:O" => "cow",
      "3:o" => "cow",
      ":monkey:" => "monkey",
      "(~~)" => "pumpkin",
      "[-(" => "huff",
      "*:)" => "bulb",
      ":$" => "shhh",
      ":chicken:" => "chicken",
      "~o)" => "cup",
      "%%-" => "clover",
      "b(" => "beat_up",
      ":E:" => "peace",
      ":&" => "sick",
      "=*" => "kiss",
      ";;)" => "flirt",
      ":?)" => "what",
      "(%)" => "ying",
      "o-+" => "april",
      ":billy:" => "billy",
      ":hiro:" => "hiro",
      ":mad:" => "mad",
      ":R:" => "praying",
      "[-x" => "nono",
      "[:D]" => "hugging",
      ":dance:" => "dancing",
      "=D" => "applause",
      "(?)" => "thinking",
      ":^o" => "liar",
      "@)" => "hypnotized",
      "8|" => "rolleyes",
      "8}" => "crazy",
      "?|" => "tired",
      "=p~" => "drooling",
      "$)" => "money",
      ":whistle:" => "whistling",
      "#o" => "doh",
      ":alien:" => "alien2",
      ":S" => "scared"
  );
   return $smilesfrom;
}
function get_smiles_text() {
    global $lang;
     $smilesfrom = get_smiles();
     $val_old = "";
     $i = 0;
     $val_old = array();
        foreach ($smilesfrom as $key => $val) {
           if (!in_array($val, $val_old)) {
              $smiles_text .= "<a href=\"javascript:emoticon('$key')\"><img src=\"".TEMPLATE_PATH."/smiles/$val.gif\" alt=\"$key\" border=\"0\"></a> ";
            }
            $val_old[] = $val;
            $i++;
            if ($i > 18) {
//               $smiles_text .= "<a href=\"smiles.php\" onclick=\"window.open('smiles.php', '_4imagessmilies', 'HEIGHT=310,resizable=yes,scrollbars=yes,WIDTH=225');return false;\" target=\"_4imagessmilies\">&nbsp;&nbsp;&nbsp;".$lang['all']."</a>";
            return $smiles_text;
            }
   }
   return $smiles_text;
}
//------End Smiles-------

function get_resize($file = "", $dim, $width = 0, $height = 0, $scale = 0){
  if ($file) {
    if ($file = @getimagesize($file)) {
      $width = $file[0];
      $height = $file[1];
    }
  }
  if ($width && $height) {
    if ($width > $dim || $height > $dim || $scale) {
      @$ratio = $width / $height;
      if ($ratio > 1) {
        $new_width = $dim;
        $new_height = round(($dim/$width) * $height);
      }else {
        $new_width = round(($dim/$height) * $width);
        $new_height = $dim;
      }
    }
    else {
      $new_width = $width;
      $new_height = $height;
    }
  }else{
    $new_width = $dim;
    $new_height = $dim;
  }
  return array($new_width, $new_height, $file);
}
//----End of code added for PM mod-----
« Ostatnia zmiana: Luty 16, 2007, 17:55:49 wysłane przez andreoid » Zapisane

:: Canon EOS 20 D..Canon EOS 350 D..Obiektywy:Canon EF 70-200mm f4.0 L USM..EF 28-135mm f3.5/5.6 IS USM..EF S 18-55 Kit..(poluje na Sigma 150mm f2.8 EX DG A
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« Odpowiedz #3 : Listopad 09, 2006, 23:21:06 »

Część 4
Krok 7

Otw?rz plik  /includes/page_header.php i odszukaj

Kod:
$site_template->register_vars(array(
  "media_url" => MEDIA_PATH,
 

i zmień go na
Kod:
//-----------------------------------------------------
//--- pm ---------------------------------------------
//-----------------------------------------------------
$inbox = "";
$outbox = "";
$sentbox = "";
$newpm = "";
$pm_popup_script = "";
$pm_popup_head = "";
$pm = "";
if ($config['pm'] && $user_info['user_level'] >= USER) {
  $sql = "SELECT COUNT(pm_id) AS total
              FROM ".PM_TABLE."
              WHERE pm_to = ".$user_info['user_id']." AND (pm_type = ".PM_SENT." OR pm_type = ".PM_SDLT." OR pm_type = ".PM_UNREAD." OR pm_type = ".PM_USDLT.")";
  $result = $site_db->query_firstrow($sql);
  $pm_inbox = $result['total'];
  $sql = "SELECT COUNT(pm_id) AS total
              FROM ".PM_TABLE."
              WHERE pm_from = ".$user_info['user_id']." AND (pm_type = ".PM_UNREAD." OR pm_type = ".PM_USDLT.")";
  $result = $site_db->query_firstrow($sql);
  $pm_outbox = $result['total'];
  $sql = "SELECT COUNT(pm_id) AS total
              FROM ".PM_TABLE."
              WHERE pm_from = ".$user_info['user_id']." AND (pm_type = ".PM_SENT." OR pm_type = ".PM_RDLT.")";
  $result = $site_db->query_firstrow($sql);
  $pm_sentbox = $result['total'];
  $sql = "SELECT COUNT(pm_id) AS new
              FROM ".PM_TABLE."
              WHERE pm_to = ".$user_info['user_id']." AND (pm_type = ".PM_UNREAD." OR pm_type = ".PM_USDLT.")
              ORDER BY pm_date DESC";
  $result = $site_db->query_firstrow($sql);
  $pm_new_count = $result['new'];
  $sql = "SELECT pm_date
              FROM ".PM_TABLE."
              WHERE pm_to = ".$user_info['user_id']." AND (pm_type = ".PM_UNREAD." OR pm_type = ".PM_USDLT.")
              ORDER BY pm_date DESC";
  $result = $site_db->query_firstrow($sql);
  $pm_new = "<a href=\"".$site_sess->url(ROOT_PATH."pm.php")."\">".(($pm_new_count) ? "<blink>".$pm_new_count."</blink>" : 0)."</a>";
  $pm = preg_replace("/".$site_template->start."msg_new_count".$site_template->end."/siU", $pm_new, $lang['pm_link']);
  $pm = preg_replace("/".$site_template->start."inbox".$site_template->end."/siU", "<a href=\"".$site_sess->url(ROOT_PATH."pm.php")."\">".$lang['pm_inbox']."</a>", $pm);
  $blink = "<script language=\"JavaScript\">\n<!--\nvar flg=0;\nfunction blink(){\nvar myElement=document.getElementById('blnk');\nflg^=1;\nif(flg==1){\nmyElement.style.visibility='hidden';\n}\nelse{\nmyElement.style.visibility='visible';\n}\ntimerID = setTimeout( 'blink()' , 500 );\n}\n//-->\n</script>\n";
  $show_inbox = ($pm_new_count) ? $blink."<span id=\"blnk\">".$lang['pm_inbox']."</span><script language=\"JavaScript\">blink();</script>" : $lang['pm_inbox'];
  $inbox = "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=inbox")."\" title=\"".(($pm_new_count) ? $lang['pm_new_messages'].": ".$pm_new_count."\n" : "").$lang['pm_total'].": ".$pm_inbox."\">".$show_inbox."</a>";
  $sentbox = "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=sentbox")."\" title=\"".$lang['pm_total'].": ".$pm_sentbox."\">".$lang['pm_sentbox']."</a>";
  $outbox = "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=outbox")."\" title=\"".$lang['pm_total'].": ".$pm_outbox."\">".$lang['pm_outbox']."</a>";
  $newpm = "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=new")."\">".$lang['pm_new']."</a>";

  if ($result && $user_info['user_pm_popup']) {
     $cookie_name = (defined("COOKIE_NAME")) ? COOKIE_NAME : "4images_";
     $cookie_pmnewpopup = isset($HTTP_COOKIE_VARS[$cookie_name.'pmnewpopup']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookie_name.'pmnewpopup'])) : 0;
     if ($cookie_pmnewpopup < $result['pm_date']) {
      if (ereg("pm.php", $self_url) && $action == "inbox") {
          $cookie_expire = time() + 60 * 60 * 24 * 90;
          setcookie($cookie_name.'pmnewpopup', serialize($result['pm_date']), $cookie_expire, COOKIE_PATH, COOKIE_DOMAIN, COOKIE_SECURE);
      }elseif (!ereg("pm.php", $self_url) || (ereg("pm.php", $self_url) && ($action == "sentbox" || $action == "outbox"))){
        $cookie_expire = gmdate('D, d M Y H:i:s \G\M\T', time() + 60 * 60 * 24 * 90);
        $pm_popup_script = " <script language=\"JavaScript\">
        <!--
        function SetCookie (name, value, expire, path, domain, secure) {
          document.cookie = name + '=' + escape(value) + ((expire)?(';expires=' + expire):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':'');
        }
        function confirm_newpm() {
          input_box=confirm('".$lang['pm_popup_confirm']."');
          if (input_box==true) { // Output when OK is clicked
            second_box=confirm('".$lang['pm_popup_newwindow']."');
            if (second_box==true) {
              SetCookie('".$cookie_name."pmnewpopup','".serialize($result['pm_date'])."','".$cookie_expire."','".COOKIE_PATH."','".COOKIE_DOMAIN."','".COOKIE_SECURE."');
              window.open('".$site_sess->url(ROOT_PATH."pm.php")."','pmnew','width=600,height=500,menubar=yes,scrollbars=yes,toolbar=yes,location=yes,directories=yes,resizable=yes,top=50,left=50');
            } else {
              SetCookie('".$cookie_name."pmnewpopup','".serialize($result['pm_date'])."','".$cookie_expire."','".COOKIE_PATH."','".COOKIE_DOMAIN."','".COOKIE_SECURE."');
              window.location='".$site_sess->url(ROOT_PATH."pm.php")."';
            }
          } else {
            SetCookie('".$cookie_name."pmnewpopup','".serialize($result['pm_date'])."','".$cookie_expire."','".COOKIE_PATH."','".COOKIE_DOMAIN."','".COOKIE_SECURE."');
          }
        }
        // -->
      </script>";
        $pm_popup_header = " onload=\"Javascript:confirm_newpm()\"";
       }
    }
  }
}
$site_template->register_vars(array(
  "pm" => $pm,
  "pm_boxes" => ($inbox) ? $inbox."&nbsp;&nbsp;|&nbsp;&nbsp;".$sentbox."&nbsp;&nbsp;|&nbsp;&nbsp;".$outbox."&nbsp;&nbsp;|&nbsp;&nbsp;".$newpm : "",
  "pm_inbox" => $inbox,
  "pm_sentbox" => $sentbox,
  "pm_outbox" => $outbox,
  "pm_newpm" => $newpm,
  "pm_popup_script" => $pm_popup_script,
  "pm_popup_header" => $pm_popup_header,
  "bbcode2" => (BBCODE == "bbcode") ? 0 : 1,
  "pm_inbox_total" => ($pm_inbox) ? $pm_inbox : 0,
  "pm_outbox_total" => ($pm_outbox) ? $pm_outbox : 0,
  "pm_sentbox_total" => ($pm_sentbox) ? $pm_sentbox : 0,
  "pm_new_total" => ($pm_new_count) ? $pm_new_count : 0,
  "media_url" => MEDIA_PATH,

Krok 8

Otwórz plik  /includes/db_field_definitions.php  i na końcu przed znakiem
Kod:
?>

dodaj
Kod:
$additional_user_fields['user_pm_inbox'] = array($lang['pm_user_inbox'], "text", 0);
$additional_user_fields['user_pm_sentbox'] = array($lang['pm_user_sentbox'], "text", 0);
$additional_user_fields['user_pm_email'] = array($lang['pm_email'], "radio", 0);
$additional_user_fields['user_pm_popup'] = array($lang['pm_popup'], "radio", 0);

Krok 9

Otwórz przeglądarkę internetową i wykonaj instalacje rozszerzającą bazę danych: pm_install.php
Np. http://www.domena.pl/4images/pm_install.php
Po zakończonej instalacji, usuń plik pm_install.php

Krok 10

Dodaj do stron HTML, Twojego szablonu , według uznania, następujące tegi
Opis tegów:

Tegi dla użytkowników.
 
{pm_boxes}                    - blok nawigacyjny: "Skrzynka | Otrzymane | Wysłane | Napisz nową PW"
{pm}                              - blok informacyjny: " masz XX nową(e) wiadomość(i) Tu jest Twoja Skrzynka"

Dodatkowe.
 
{pm_inbox}                     - link do Skrzynki
{pm_sentbox}                 - link do Wysłane
{pm_outbox}                  - link do Otrzymane
{pm_newpm}                 - link do Napisz nową PW
{pm_inbox_total}             - # wyświetla ogólną ilość wiadomości w Skrzynce

{pm_outbox_total}          - # wyświetla ogólną ilość wiadomości w Otrzymane
{pm_sentbox_total}         - # wyświetla ogólną ilość wiadomości w Wysłane
{pm_new_total}              - # wyświetla ogólną ilość nowych wiadomości 

Krok 11

Otwórz plik  /member.php  i odszukaj
Kod:
    $site_template->register_vars(array(
      "user_id" => $user_row['user_id'],
      "user_name" => (isset($user_row['user_name'])) ? htmlspecialchars($user_row['user_name']) : REPLACE_EMPTY,

i za nim dodaj
Kod:
"lang_pm" => ($user_info['user_id'] != $user_row['user_id']) ? "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=new&user_id=".$user_row['user_id'])."\">".$lang['pm_user_pm_alt']."</a>" : "",

Krok 12

Otwórz plik  /details.php i odszukaj

Kod:
  $sql = "SELECT c.comment_id, c.image_id, c.user_id, c.user_name AS comment_user_name, c.comment_headline, c.comment_text, c.comment_ip, c.comment_date".get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_email").get_user_table_field(", u.", "user_showemail").get_user_table_field(", u.", "user_invisible").get_user_table_field(", u.", "user_joindate").get_user_table_field(", u.", "user_lastaction").get_user_table_field(", u.", "user_comments").get_user_table_field(", u.", "user_homepage").get_user_table_field(", u.", "user_icq")."

i zmień go na
Kod:
$additional_sql = "";
  if (!empty($additional_user_fields)) {
    $table_fields = $site_db->get_table_fields(USERS_TABLE);
    foreach ($additional_user_fields as $key => $val) {
      if (isset($table_fields[$key])) {
        $additional_sql .= ", u.$key";
      }
    }
  }
  $sql = "SELECT c.comment_id, c.image_id, c.user_id, c.user_name AS comment_user_name, c.comment_headline, c.comment_text, c.comment_ip, c.comment_date".get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_email").get_user_table_field(", u.", "user_showemail").get_user_table_field(", u.", "user_invisible").get_user_table_field(", u.", "user_joindate").get_user_table_field(", u.", "user_lastaction").get_user_table_field(", u.", "user_comments").get_user_table_field(", u.", "user_homepage").get_user_table_field(", u.", "user_icq").get_user_table_field(", u.", "user_id").$additional_sql."

odszukaj
Kod:
"comment_id" => $comment_row[$i]['comment_id'],

i za nim dodaj
Kod:
"comment_user_pm" => ($config['pm'] && $comment_row[$i]['user_id']  != GUEST && $user_info['user_level'] > GUEST && $user_info['user_id'] != $comment_row[$i]['user_id']) ? "<a href=\"".$site_sess->url(ROOT_PATH."pm.php?action=quote&mode=comment&id=".$comment_row[$i]['comment_id']."&user_id=".$comment_row[$i]['user_id'])."\" /><img src=\"".get_gallery_image("pm.gif")."\" border=\"0\" alt=\"".$lang['pm_user_pm_alt']."\" /></a>" : "",

Krok 13

1.
Otwórz plik
/templates/<twoj_szablon>/member_profile.html 
i dodaj w dogodnym miejscu teg  {lang_pm}
2.
Otwórz plik
/templates/<twoj_szablon>/comment_bit.html
i dodaj w dogodnym miejscu teg {comment_user_pm} 

Krok 14

Otwórz plik /templates/<twoj_szablon>/member_editprofile.html
i do istniejącej tabeli wklej fragment tej tabeli
Kod:
<tr>
            <td class="row2"><b>{lang_user_pm_email}</b></td>
            <td class="row2">
              <input type="radio" name="user_pm_email" value="1"{user_pm_email_yes} />
              {lang_yes}&nbsp;&nbsp;&nbsp;
              <input type="radio" name="user_pm_email" value="0"{user_pm_email_no} />
              {lang_no}
            </td>
          </tr>
          <tr>
            <td class="row1"><b>{lang_user_pm_popup}</b></td>
            <td class="row1">
              <input type="radio" name="user_pm_popup" value="1"{user_pm_popup_yes} />
              {lang_yes}&nbsp;&nbsp;&nbsp;
              <input type="radio" name="user_pm_popup" value="0"{user_pm_popup_no} />
              {lang_no}
            </td>
          </tr>

Krok 15

Otwórz plik /templates/<twoj_szablon>/header.html
1.
Między znacznikami <head> i </head>, dodaj teg {pm_popup_script}
2.
W znaczniku <body> dodaj teg {pm_popup_header}
(np. <body {pm_popup_header} ... >)

Krok 16

W pliku  /templates/<twoj_szablon>/style.css na samym końcu dodaj
Kod:
.msg0 {
background-color: #FFCECE;
color: #2F6B9D;
}
.msg1 {
background-color: #CEFFDD;
color: #2F6B9D;
}

.msg_good {
  background-color: #CEFFDD;
  font-weight: bold;
   border: 1px solid #5E6C80;
   padding: 3px 3px 3px 3px ;
   margin: 3px 0px 3px 0px ;
}

.msg_error {
  background-color: #FFCECE;
  font-weight: bold;
   border: 1px solid #5E6C80;
   padding: 3px 3px 3px 3px ;
   margin: 3px 0px 3px 0px ;
}

.msg_plain {
  background-color: transparent;
  font-weight: bold;
   border: 1px solid #5E6C80;
   padding: 3px 3px 3px 3px ;
   margin: 3px 0px 3px 0px ;
}
/*--BBCode--------------------------------------------------*/
input.bbcbutton {
   background-color : #EFEFEF;
   color : #000000;
   font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif;
}
.helpline {
  width: 300px;
  height: 30px;
  overflow: hidden;
   background-color: transparent;
   border-style: none;
   font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif;
   font-size : 10px;
   color: #666666;
}
div.quotehead {
   font-size: 11px;
   color: black;
   padding: 0px 24px 0px 24px ;
}
div.quoteblock {
   border: 1px solid #5E6C80;
   font-size: 10px;
   padding: 8px 8px 8px 8px ;
}
div.codehead {
   font-size: 11px;
   color: black;
   padding: 0px 24px 0px 24px ;
}
div.codeblock {
   border: 1px solid #5E6C80;
   font-family: Courier, 'Courier New', sans-serif;
   font-size: 10px;
   padding: 8px 8px 8px 8px ;
   background-color: #F5F5F5;
   white-space: pre;
}

Krok 17

Otwórz plik details.php i odszukaj
Kod:
"comment_headline" => format_text($comment_row[$i]['comment_headline'], 0, $config['wordwrap_comments'], 0, 0),
        "comment_text" => format_text($comment_row[$i]['comment_text'], $config['html_comments'], $config['wordwrap_comments'], $config['bb_comments'], $config['bb_img_comments']),

i zmień go na
Kod:
"comment_headline" => format_text($comment_row[$i]['comment_headline'], 0, $config['wordwrap_comments'], 0, 0, 1, 1),
        "comment_text" => format_text($comment_row[$i]['comment_text'], $config['html_comments'], $config['wordwrap_comments'], $config['bb_comments'], $config['bb_img_comments'], 1 , 1),

Krok 18

Otwórz plik logout.php  i odszukaj
Kod:
if (!ereg("index.php", $url) && !ereg("lightbox.php", $url) && !ereg("login.php", $url) && !ereg("register.php", $url) && !ereg("member.php", $url)) {

zmień go na
Kod:
if (!ereg("index.php", $url) && !ereg("lightbox.php", $url) && !ereg("login.php", $url) && !ereg("register.php", $url) && !ereg("member.php", $url) && !ereg("pm.php", $url)) {

Gotowe
Jak już wcześniej wspomniałem instalacja nie jest prosta, daltego proszę o dokładne prześledzenie instrukcji instalacji.
MOD z pewnością będzie przydatny w galeriach gdzie jest dużo użytkowników.
Życze udanej instalacji
« Ostatnia zmiana: Luty 16, 2007, 18:05:17 wysłane przez andreoid » Zapisane

:: Canon EOS 20 D..Canon EOS 350 D..Obiektywy:Canon EF 70-200mm f4.0 L USM..EF 28-135mm f3.5/5.6 IS USM..EF S 18-55 Kit..(poluje na Sigma 150mm f2.8 EX DG A
Giovanni
Uczeń

**

Pomógł: +0/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 55



OS:
unknown
Browser:
unknown



Zobacz profil
« Odpowiedz #4 : Listopad 14, 2006, 22:44:10 »

Wielki ukłon dla Andreoida za wspaniale funkcjonujący mod Uśmiech
Z takim szczegółowym opisem nie można raczej niczego pomylić Uśmiech

Mam jedno pytanko
Stronki które zostały dodane albo przykładowo tekst:

   masz
» 0 now?(e) wiadomo�?(i)
   tu jest Twoja Skrzynka.

Nie wyświetla polskich czcionek gdzie to można zmienić ??

Pozdrawiam Uśmiech

« Ostatnia zmiana: Luty 16, 2007, 18:10:23 wysłane przez andreoid » Zapisane
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« Odpowiedz #5 : Listopad 14, 2006, 23:08:12 »

Dzięki za miłe słowo.

Wszelkie zmiany w opisach możesz dokonać w pliku main.php
ścieżka /lang/polish/main.php

Opis dotyczący Prywatnych wiadomości zaczyna się od:
Kod:
//-----------------------------------------------------
//--- PM (Private Messenging) -------------------------
//-----------------------------------------------------

a dokładnie chodzi o ten kod
Kod:
$lang['pm_link'] = "&nbsp;&nbsp;&nbsp;masz<br />&raquo&nbsp;<b>{msg_new_count}</b> nową(e) wiadomość(i)<br />&nbsp;&nbsp;&nbsp;tu jest Twoja <b>{inbox}</b>.";

Ale ten problem nie jest chyba związany z tym kodem.
Zresztą ciężko mi się odnieść do tego, bo nieznam kodu źródłowego strony, na której znajduje się ten kod.

« Ostatnia zmiana: Luty 16, 2007, 18:12:58 wysłane przez andreoid » Zapisane

:: Canon EOS 20 D..Canon EOS 350 D..Obiektywy:Canon EF 70-200mm f4.0 L USM..EF 28-135mm f3.5/5.6 IS USM..EF S 18-55 Kit..(poluje na Sigma 150mm f2.8 EX DG A
Giovanni
Uczeń

**

Pomógł: +0/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 55



OS:
unknown
Browser:
unknown



Zobacz profil
« Odpowiedz #6 : Listopad 15, 2006, 09:03:03 »

Dziękuje za pomoc Uśmiech

Faktycznie problem nie był związany z tą linijką tekstu tylko z kodowaniem mojej strony
zmienilem na "charset=windows-1250" i jest wszystko ok Uśmiech
Bynajmniej mam taką nadzieję Uśmiech

Pozdr Uśmiech
« Ostatnia zmiana: Luty 16, 2007, 18:14:04 wysłane przez andreoid » Zapisane
Giovanni
Uczeń

**

Pomógł: +0/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 55



OS:
unknown
Browser:
unknown



Zobacz profil
« Odpowiedz #7 : Listopad 15, 2006, 11:22:04 »

Dzi?kuje za pomoc Uśmiech

Faktycznie problem nie był związany z tą linijka tekstu tylko z kodowaniem mojej strony
zmienilem na "charset=windows-1250" i jest wszystko ok Uśmiech
Bynajmniej mam taką nadzieję Uśmiech

Pozdr Uśmiech


Hmmmm
Pochwaliłem dzień przed zachodem słońca teraz to dopiero mam namieszane i wiem że bez pomocy Wielkiego Andreoida sam sobie nie poradzę !! Smutny

HELP !!

Mod działa świetnie i jest ok wszystko ale wchodząc do panelu kontrolnego



Wyskakują jakieś informacje które po zmianie i tak nie przynoszą efektu Smutny
« Ostatnia zmiana: Luty 16, 2007, 18:17:08 wysłane przez andreoid » Zapisane
andreoid
Administrator
Student

*****

Pomógł: +4/-0
Offline Offline

Płeć: Mężczyzna
Wiadomości: 308



OS:
unknown
Browser:
unknown


Skype - Kliknij do mnie

Zobacz profil WWW
« Odpowiedz #8 : Listopad 15, 2006, 11:38:02 »

Faktycznie występuje taki błąd i związane jest to z zabezpieczeniem spamowym.
Aktualizacja dotyczy wersji 1.7.2 / 1.7.3 / 1.7.4

Dokonaj następującej zmiany:
Otwórz plik includes/functions.php, odszukaj
Kod:
}
     $text = str_replace("[hr]", "<hr>", $text);
  }
  $text = replace_url($text);
  if ($word_wrap && $text != "") {
    $text = preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$word_wrap."})/i", " \\1\n", $text);
  }
  $text = str_replace("\n", "<br />", $text);
  $text = str_replace("\\'", "'", $text);
  $text = str_replace("\\\"", "&quot;", $text);
  return replace_badwords(stripslashes($text));
}

i zmień go na
Kod:
}
    $text = str_replace("[hr]", "<hr>", $text);
}
  if ($html !== 2) {
      $text = nl2br(trim($text));
      $text = replace_url($text);
}
  if ($word_wrap && $text != "") {
      $text = preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$word_wrap."})/i", " \\1\n", $text);
      $text = replace_badwords($text); 
}
  $text = str_replace("\n", "<br />", $text);
  $text = str_replace("\\'",