Agencje prasowe
Każdy obywatel sarmacki może założyć agencję prasową zintegrowaną ze stronami internetowymi Księstwa Sarmacji. Jeżeli nie posiadasz własnego serwera, możesz ubiegać się o miejsce na serwerze na tych samych zasadach, co instytucje publiczne. Proponowanym systemem zarządzania agencją prasową jest Wordpress, wystarczy jednak jakikolwiek system, umożliwiający stworzenie pliku integracyjnego zgodnie z poniższymi wytycznymi.
Agregacja agencji prasowych odbywa się zgodnie z Rozporządzeniem o Bramie Sarmackiej oraz publikacji materiałów na stronach internetowych Księstwa Sarmacji. Po uruchomieniu skryptów agencji prasowej oraz stworzeniu pliku integracyjnego należy zwrócić się do jednej z osób posiadających certyfikat dostępu do serwera o zintegrowanie agencji prasowej ze stroną główną Księstwa Sarmacji. Można także spróbować poprosić którąś z wybranych osób o pomoc przy samym procesie instalacji i integracji.
Informacje techniczne
Plik integracyjny, który umożliwi agregatorowi na stronie głównej Księstwa Sarmacji pobranie ostatnich wiadomości, powinien mieć następujący format:
- czysty tekst
- kodowanie ISO 8859-2 lub UTF-8
- 5 linii odpowiadających 5 ostatnio opublikowanym wiadomościom, w postaci: data (RRRR-MM-DD)|liczba komentarzy|tytuł|zmienna część adresu (najczęściej — identyfikator wiadomości)
Dla przykładu — plik integracyjny „Gońca Czarnoleskiego”. Ostatnie pole — zmienna część adresu — umożliwia wygenerowanie odsyłacza na stronie głównej Księstwa Sarmacji, np. http://www.goniec.sarmacja.org/?p=670.
Aby plik był w poprawnym formacie i kodowaniu, na jego początku (w przypadku pliku integracyjnego w PHP) należy zadeklarować (odpowiednio zmieniając utf-8 na iso-8859-2 w razie potrzeby):
header('Content-Type: text/plain; charset=utf-8');
Przykładowy plik integracyjny dla Wordpressa
<?php
header('Content-Type: text/plain; charset=utf-8');
include('wp-config.php');
@mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('');
@mysql_select_db(DB_NAME) or die('');
mysql_query("SET NAMES utf8");
$sql = "select * FROM `".$table_prefix."posts` WHERE post_type = 'post' AND post_date <= NOW() AND post_status = 'publish' ORDER BY post_date DESC LIMIT 10";
$sql_result = mysql_query($sql);
while ($row = mysql_fetch_array($sql_result)) {
$row["post_date"] = substr($row["post_date"], 0, 10);
echo "$row[post_date]|$row[comment_count]|$row[post_title]|$row[ID]\n";
}
?>
Przykładowy plik integracyjny dla PHP–Fusion
Plik należy umieścić w katalogu głównym PHP–Fusion lub odpowiednio zmienić scieżkę dostępu do pliku config.php (linia 3). W przypadku niestandardowego prefiksu nazw tabel, odpowiednio zmieniamy domyślne „fusion_” na właściwy prefiks.
<?php
header('Content-Type: text/plain; charset=utf-8');
include('config.php');
@mysql_connect($db_host, $db_user, $db_pass);
@mysql_select_db($db_name);
mysql_query("SET NAMES utf8");
$sql = "SELECT n.news_id, n.news_subject, FROM_UNIXTIME(n.news_datestamp, '%Y-%m-%d') as date, (SELECT COUNT(*) FROM fusion_comments c WHERE n.news_id=c.comment_item_id) AS comment_count FROM fusion_news n ORDER BY n.news_datestamp DESC LIMIT 5";
$sql_result = mysql_query($sql);
while ($row = mysql_fetch_array($sql_result)) {
echo "$row[date]|$row[comment_count]|$row[news_subject]|$row[news_id]\n";
}
?>