'added DESC'); protected function _bindListColumns(Qs_ViewController_List $list) { $list->addColumn('no', 'no') ->addColumn('text', 'added', array('orderBy' => 'added')) ->addColumn('text', 'priority', array('orderBy' => 'priority')) ->addColumn('text', 'ip', array('orderBy' => 'ip')) ->addColumn('html', 'message') ->addColumn('options', 'options', array('actions' => 'viewBacktrace;delete')); return $this; } protected function _getDefaultLinks() { $links = array(); switch ($this->_action) { case 'list' : $links['clear'] = array( 'attribs' => array('onclick' => "return confirm('Do you really wand to clear log?');") ); break; case 'viewBacktrace': $links['back'] = 'Back to list'; } return $links; } protected function _doViewBacktrace() { $item = $this->dataObj->getData(); $item['links'] = $this->_getLinks(); if (strlen($item['backtrace'])) { $item['backtrace'] = gzuncompress($item['backtrace']); } if ($item['backtrace']) { $item['backtrace'] = unserialize($item['backtrace']); } $item['tpl'] = $this->getTemplate('view-backtrace.tpl'); $this->_addItem($item); return $this; } protected function _doClear() { $this->dataObj->clear(); $this->_doBack(); } }