Jak byc może kilka osób zdążyło zauważyć, wczoraj wyszła nowa wersja tej strony :) Zmieniła się nazwa (obecnie: myGeeBlog), zmieniła się też skórka, ponieważ na poprzednią nie mogłem już patrzeć ;) Obecna skórka to moja wariacja skórki Emire zaprojektowanej i wykonanej przez Phu Ly.

Mam nadzieję, że troszkę lepiej teraz tu wygląda, ale nie obiecuje super doznań estetycznych :P Jeśli zauważycie gdzieś jakieś niedoróbki, sypiące się miejsca or whatever, to proszę dać znać, postaram się szybko poprawić :)


Niedawno spotkałem się z pewną… ciekawostką, którą podsunął mi jeden ze współuczestników szkolenia w jakim brałem udział. W języku PHP można komentować kod na kilka sposobów:

  1. <?php
    # to jest komentarz jednolinijkowy
    ?>
  2. <?php
    // to jest komentarz jednolinijkowy
    ?>
  3. <?php
    /* to jest komentarz
    wielolinijkowy */
    ?>

Moja ciekawostka dotyczy wersji 1 i 2. Teraz pytanie, dość proste: co zostanie wyświetlone w wyniku parsowania pliku PHP o treści:

<?php
echo 'aaa?>';
echo 'bbb';
?>

Dość oczywistym jest wynik:

aaa?>bbb

No to teraz pytanie drugie: co będzie wynikiem parsowania poniższego skryptu?

<?php
#echo 'aaa?>';
echo 'bbb';
?>

Dla mnie, i dla conajmniej kilku innych osób które od dość długiego czasu zajmują się PHP, oczywistym jest wynik:

bbb

Ale dla developerów PHP logicznym jest inny rezultat:

'; echo 'bbb'; ?> 

Cytat z manuala:

The “one-line” comment styles only comment to the end of the line or the current block of PHP code, whichever comes first. This means that HTML code after // … ?> or # … ?> WILL be printed: ?> breaks out of PHP mode and returns to HTML mode, and // or # cannot influence that. If the asp_tags configuration directive is enabled, it behaves the same with // %> and # %>.

Źródło: manual PHP


Strasznie mnie wkurza nabyta niedawno maniera Akismet-a na stronicowanie listy spamerskich komentarzy dodanych na WordPressie. Nie wiem też czy poprawili to co było na początku po tej zmianie, czyli jeśli w międzyczasie, gdy byłeś na stronie 4 spamów, sprawdzając czy coś się nie nawinęło, a w międzyczasie doszły nowe komentarze, to wyświetlane były na stronie 1, która była już przez Ciebie sprawdzana… I tak oto można było wywalić w kosmos kilka, kilkanaście pozytywnych komentarzy.

Poprawienie tego “błędu” (mówię ogólnie o stronicowaniu spamów) jest dość proste - w obecnej, 2.1.2, wersji Wordpressa, w pliku /wp-content/plugins/akismet/akismet.php wywalamy linie 365 do 372 włącznie, wstawiając zamiast nich:

$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' ORDER BY comment_date DESC");

Wywalamy także linie: 379 do 410 włącznie, i 449 do 479 włącznie. Od tej chwili Akismet nie będzie już stronicował wyników :)

Można też ściągnąć gotowego patcha (akismet.wordpress.212.patch) do Wordpress-a, do głównego katalogu Wordpressa w Twojej instalacji i go zaaplikować:

patch -p0 < akismet.wordpress.212.patch

co powinno być nieco prostsze ;) o ile masz dostęp do jakiegoś shella :) Jako bonus, patch spowoduje także numerowanie wszystkich spamów na liście :)


Zamknęłem właśnie Core CMS.

Powody:

  • brak czasu
  • brak sił
  • brak chęci
  • brak motywacji

do samodzielnego rozwijania systemu. Lark przestał się z jakiegoś powodu odzywać, nie odpowiada na maile ani jabbera. A ja sam mam co innego do roboty.

Gdyby ktoś miał ochotę kontynuować pracę nad całkiem zaawansowanym już Core 0.5.0, to proszę o kontakt, jestem gotów przekazać aktualne źródła (dostępne także w SVN), oferuje hosting + SVN + wiki i ew. moje delikatne wsparcie. Warunek: projekt dalej zostaje na GPL.

Jacyś chętni?

Acha: domena nie należy do mnie tylko do larka, więc z nim trzeba rozmawiać na ten temat. Ew. zakupić własną (w razie czego mogę też zaoferować subdomenę w domenie urzenia.net).

UPDATE:

Zapomniałem podlinkować oficjalny komunikat.