bbclone - произвольная раскраска в зависимости от url

В детальной статистике bbclone традиционно предусмотрено 3 цвета для строк:

  1. для недавних ($BBC_MAXTIME) посетителей
  2. для роботов
  3. все остальные, то есть считающиеся людьми :)

мне захотелось отдельным цветом выделять строки rss-reader-ов, то есть запросы к ардесу типа http://putnik.net.ua/index.php/feed/.

Bbclone detailed stats by default has 3 colors for rows:

  1. for recent ($BBC_MAXTIME) visitors
  2. for robots
  3. the rest

I want mark by different color visits to my RSS-feeds, in other words visits to urls like http://putnik.net.ua/index.php/feed/.
What was made:

Не забудьте сделат бекапы! Don’t forget to backup!

В файле/In file bbclone/show_detailed.php:
// generates each row of the detailed stats
function bbc_rows_gen() {
……..
for ($k = $nb_access - 1; $k >= max(0, $nb_access - $BBC_MAXVISIBLE); $k–) {
$p_url = $last[’pages’][$last[’traffic’][$k][’page’]]; // add this - добавляем это
$hex = $bbc_html->connect_code_color($last[’traffic’][$k], $p_url); // and one param for fun(ction:) - и добавляем параметр к функции

В файле/In file bbclone/lib/html.php:

// Color explanation
function color_explain() {
……….
.”<span style=\”color: #cc7286\”>”.$_[’dstat_red_rows’].”:</span> “.$_[’dstat_robots’].”.\n”
.”<span style=\”background-color: #fce5c4\”>orange rows:</span> feed readers.\n”
.”</i></p>\n”;
}
// Determine the color of the connection
//function connect_code_color($connect) {
//add one param here. I don’t know whether this func called somewhere else, so play safe
//добавляем параметр. Не знаю, вызывается ли она где-нить еще, поэтому перестраховываемся

function connect_code_color($connect, $p_url = false) {
…….
// else, it is red if it is a robot
elseif (!empty($connect[’robot’])) return “#efe2ec”;
// colors by url - add from here - добавлено отсюда….
elseif ($p_url){
if (strpos($p_url, “/feed/”) !== false) return “#fce5c4″; //feeds. Here put your favorite color - номер цвета писать тут
// or blue if something else - default
else return “#e0e5f2″;
}
// ….to here - и досюда
// maybe it redundant, but again for play safe
// возможно, это уже лишнее, но оставим, на всякий случай

// or blue if something else
else return “#e0e5f2″;
}

зы: Такие имена переменных для того, чтоб не пересечься с чем-нибудь существующим.
Ессно решение не идеальное, можете - сделайте лучше и расскажите :)
ps: New vars named by one reason: no mess with old bbclone variables.
Of course this solution isn’t perfect. You free make better and tell about it :).
Any comments appear after moderation, so please don’t post twice :)

ззы: Еще про небольшую доделку bbclone я писал раньше

2 Responses to “bbclone - произвольная раскраска в зависимости от url”

  1. tolix Says:

    Несомненно, вещь достаточно полезная. Только вот сам bbclone годится для слабопосещаемых сайтов, поскольку имеет достаточно неоптимальнуб структуру базы данных - обычный ассоциативный массив, который сохраняется в php файле. Мне кажется, что правильнее считать “цыплят” по логам вебсервера….

    (Включена подписка на комментарии)

  2. Путник Says:

    Не спорю :)
    Только давай уточним, что такое “слабопосещаемый”.

Оставить комментарий - Feel free to ask me in English

Он появится после того, как будет одобрен. - All comments are pre-moderated.

Внимание! Пожалуйста, не пишите в комментарии [url=... или [url]... - это будет считаться спамом. Если хотите дать ссылку - пишите просто адрес, до 2х на один коммент.
Attention! Please don't use "[url=..." or "[url]..." in comment's body or it will be deleted as spam
If you want to send me a link just type url, up to 2 urls in one comment.

Спасибо за отзыв! Thank you for a comment!