Linki PHPBB otwierane w nowym oknie

Otwieranie linków zewnętrznych w tym samym oknie wiąże się najczęściej z przejściem użytkownika na inną stronę (użytkownik pozostaje tylko w przypadku kliknięcia prawym przyciskiem na link i wybrania opcji “otwórz w nowym oknie/karcie”).

Jeżeli chcemy, aby w naszym forum postawionym na PHPBB linki w postach i sygnaturach otwierały się w nowym oknie, musimy zmodyfikować funkcje odpowiedzialne za ich tworzenie. Edytujemy plik includes/functions_content.php. Znajdujemy w nim funkcję make_clickable_callback() i w jej ciele, do znacznika <a> dodajemy parametr target=”_blank”. Zmieniona linijka kodu będzie wyglądała następująco:

$html    = "$whitespace<!-- $tag --><a$class href=\"$url\" target=\"_blank\">$text</a><!-- $tag -->$append";

Następnie edytujemy plik bbcode.html. Znajdziemy do w podkatalogu template, w katalogu z naszym bieżącym stylem (np. styles/prosilver/template). Znajdujemy w nim linijkę zaczynającą się od <!– BEGIN url –>. W linijce tej, w znaczniku <a> dodajemy parametr target=”_blank”. Gotowy kod będzie wyglądał następująco:

<!-- BEGIN url --><a href="{URL}" target="_blank">{DESCRIPTION}</a><!-- END url -->

Parse error: eval()’d code

Czasami, szczególnie po ręcznym updatowaniu forum PHPBB pojawia się następujący błąd:

Parse error: eval()'d code

Oznacza on błąd w składni PHPBB. Błędem takim może być np. niedomknięcie instrukcji warunkowej itp. Co ważne błędu szukamy w plikach templatów.

Przykładowe błędy:

1. Niedomknięcie instrukcji warunkowej (brak <!– ENDIF –> na końcu kodu)
<!-- IF U_FORUM_RULES -->
kod html

2. Używanie w komentarzach słów zastrzeżonych dla składni PHPBB, np. BEGIN, END
<!-- BEGIN MOJ KOD -->
kod html
<!-- END MOJ KOD -->

3. Niedomknięcie instrukcji warunkowej
<!-- IF U_FORUM_RULES

Paginacja Fotolia – getSearchResults.php oraz fotolia_api_client.php

Integrując portal z bankiem zdjęć – Fotolia.com – można skorzystać z przygotowanych przez Fotolię zbioru funkcji. Niestety starsze wersje, dostępne w sieci zawierają szereg błędów.

Jednym z nich jest nieprawidłowa paginacja (paginacja/stronnicowanie nie jest generowane). Aby naprawić błąd, należy zastąpić starszą wersję pliku fotolia_api_client.php nową, np. dostępną pod tym linkiem

Załączenie wielu plików w PHPMailer 5.0.0 – AddAttachment

W PHPMailerze w wersji 5.0.0 występuje błąd który uniemożliwia dodanie wielu załączników (metodą AddAttachment) do jednego maila.

Rozwiązanie problemu jest bardzo proste.

W pliku class.phpmailer.php odnajdujemy definicję funkcji AddAttachment:

public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream')

W ciele funkcji odnajdujemy tablicę

$this->attachment[]

Ostatni element tablicy

7 => 0

zmieniamy na

7 => count($this->attachment)

Mail w PHPmailer z załączonym obrazkiem logo

Wysyłając maile ze stron, szczególnie tych firmowych, często chcielibyśmy aby zawierały elementy graficzne takie jak np. logo.

Z pomocą w takich sytuacjach przychodzi nam PHPMailer, który posiada wbudowaną metodę do załączania obrazków.

Po stworzeniu obiektu maila wystarczy wywołać funkcję AddEmbeddedImage, posiadającą następujące argumenty:

- ścieżka

- cid (identyfikator obrazka)

- nazwa pliku

Kod może wyglądać następująco:

$mail->AddEmbeddedImage('../images/logo.jpg','mojelogo','logo.jpg');

W treści maila obrazek wywołujemy następująco

<a href="http://twojawitryna.pl"><img src="cid:mojelogo" alt="" /></a>