js.phpcode php
<?php
class base_js extends base_page_db
{
function can_be_empty() { return true; }
function preShowProcess()
{
include_once("inc/js.php");
header("Content-type", "text/javascript");
return str2js($this->cacheable_body());
}
}
personal.phpcode php
<?php
class forum_js_personal extends base_js
{
private $owner;
function __construct($id)
{
parent::__construct($id);
$this->owner = class_load('forum_user', $this->id());
}
function cache_static() { return 7*86400; }
function url()
{
return "http://balancer.ru/user/".$this->id()."/personal.js";
}
function owner() { return $this->owner; }
}
personal.htmlcode html4strict
Здравствуйте, {$this->owner|get:titled_url}!
<li><a href="http://balancer.ru/user/{$this->owner()|get:id}/blog/">Ваш блог
</a></li>
<li><a href="http://balancer.ru/user/{$this->owner()|get:id}/use-topics.html">Ваши темы
</a></li>
<li><a href="/actions/do-logout/">Выход
</a></li>
Форум:
<li><a href="http://balancer.ru/forum/punbb/search.php?action=show_24h">За сутки
</a></li>
<li><a href="http://balancer.ru/forum/punbb/search.php?action=show_new">Новое
</a></li>
...
И, наконец, привязываем это всё к системе:
bors_map.phpcode php
...
'/user/(\d+)/personal\.js => forum_js_personal(1)',
...
И этого - достаточно, чтобы каждому юзеру форума в статическую
страницу вставлялся персональный кусок кода через JS.