Звиздец, не нужно было мне сюда сейчас заходить
Вы себе даже не представляете, как тяжело переваривать ваши недоразумения.
Код открою. Скоро. В следующем году! Не волнуйтесь, со мной до того времени, точно ничего не случится ))
Проблема в том, что в ядре я совсем не писал комментариев, как работает та или иная функция/метод.
Ну, как я пишу код, например, мне понравилось это: (кстати это открыто)
class Grid extends Object {
public function __construct(Index &$Index) {
$this->Index =& $Index;
$this->class = __CLASS__;
parent::load($this->Index);
}
// TODO: array of names
public function getContent() {
if (!$this->name) return false;
if ($this->id) {
$sql = 'SELECT * FROM '.$this->prefix.'grid_'.$this->name.' WHERE id='.(int)$this->id;
$this->row = DB::row($sql);
$this->catchRow($this->row, true);
}
if (!$this->row) {
$this->data['list'] = array();
if (!isset($this->select[$this->name])) $this->select[$this->name] = '*';
if (!isset($this->order[$this->name])) $this->order[$this->name] = 'sort, id DESC';
if (!isset($this->filter[$this->name])) {
$langed = in_array('rid',DB::columns('grid_'.$this->name));
$this->filter[$this->name] = ' AND active=1'.($langed?' AND lang=\''.$this->lang.'\'':'');
}
$this->id = 0;
$sql = 'SELECT SQL_CALC_FOUND_ROWS '.$this->select[$this->name].' FROM '.$this->prefix.'grid_'.$this->name.' WHERE TRUE'.$this->filter[$this->name].' ORDER BY '.$this->order[$this->name];
$qry = DB::qry($sql, $this->offset, $this->limit);
$this->total = DB::rows();
while ($row = DB::fetch($qry)) {
$this->catchRow($row, false);
array_push($this->data['list'], $row);
}
DB::free($qry);
}
$this->data['module'] = $this->name;
$this->data['pager'] = Pager::get(array(
'total' => $this->total,
'limit' => $this->limit,
));
if ($this->row) {
$this->Index->tree[] = array(
'title' => $this->row['alt'],
'url' => '?'.URL::get(),
'name' => $this->name,
'type' => 'grid'
);
$this->Index->setVar('title',$this->row['alt']);
// {$Tpl->setVar('title',$row.alt|html)}
// {$Tpl->setVar('keywords',$row.descr|strip_tags)}
$this->Index->setVar('keywords',$this->row['tags'] ? $this->row['tags'] : DB::keywords($this->row['descr']));
$this->Index->Smarty->assign('row', $this->row);
$this->Index->Smarty->assign('tree', $this->Index->tree);
} else {
$this->Index->Smarty->assign('data', $this->data);
}
$this->Index->Smarty->display('grid.tpl');
return true;
}
private function catchRow(&$row, $full) {
$row['module'] = $this->name;
$row['url_open'] = '?grid='.$this->name.AMP.'id='.$row['id'];
$row['alt'] = html($row['title']);
$this->Index->Edit->set($row, 'grid_'.$this->name, $row['id'], 'id')->parse()->admin();
if (isset($this->catch[$this->name]) && $this->catch[$this->name]) {
if (is_array($this->catch[$this->name])) {
$this->catch[$this->name][0]->{$this->catch[$this->name][1]}($row, $full);
} else {
$this->catch[$this->name]($row, $full);
}
}
}
}
mi1ha, а тебя всё ещё трудно понять. Странные понты, не уверен что ты надеешься получить какой-либо ответ.
Если вам прикольно делать код на других языках (Python, Perl, Ruby), то делайте пожалуйста сами! И, не забудьте потом открыть тему на этом форуме о вашем изысканном изобретении
Короче, ребята, ну чего вы такие трудные-то? Предложил я нечто крутое, с чем можно быстро клепать сайты и все будут рады. А если бы ничего и не было, ну небыло бы Ajaxel CMS, было бы разве лучше?
Открою я код. всё будет окей. А пока изучайте. Ведь кто первый тот и первый. Не ленитесь