📄 pagebase.php
字号:
//--------------------------------------------------------
function addAction($name,$url,$class,$target='_self',$idName = '')
{
$this->listActions->add($name,$url,$class,$target,$idName);
$this->actionListFlag = $this->listActions->actionList;
}
function addError($err)
{
$this->errorList[$this->errCount] = $err;
$this->errCount++;
}
function addMessage($msg)
{
$this->messageList[$this->msgCount] = $msg;
$this->msgCount++;
// debug_var($this->messageList);
}
function debug_var($var)
{
print '<hr><pre>';
print_r($var);
print '</pre><hr>';
}
function displayPage($key='admin')
{
$MasterContent = $this->master_tmp[$key];
$this->output->compile($MasterContent);
$this->output->outputObject($this);
}
function showErrors()
{
foreach($this->errorList as $key=>$val)
{
print '<div class="error">'.$val.'</div>';
}
}
function showMessages()
{
foreach($this->messageList as $key=>$val)
{
print '<div class="message">'.$val.'</div>';
}
}
//----------------------------------------------------------------------
function removeAllElements()
{
if(isset($this->form->_elements))
foreach($this->form->_elements as $key=>$ele)
{
$name = $ele->_attributes['name'];
$this->form->removeElement($name);
}
}
///----------------------------------------------------------------
function db_error($res)
{
foreach($this->form->_elements as $key=>$ele)
{
$name = $ele->_attributes['name'];
$this->form->removeElement($name);
}/**/
// debug_ar($res->backtrace[7]['args'][1]);
$this->form =& new HTML_QuickForm('frmTest1', 'post');
$this->form->addElement('header','Database Error','Database Error');
$this->form->addElement('static','message','Message',$res->message);
$this->form->addElement('static','usrinfo','User Info',$res->userinfo);
if($res->backtrace[6]['function'] == 'execute')
{
$this->form->addElement('static','file','File',$res->backtrace[7]['file']);
$this->form->addElement('static','line','Line',$res->backtrace[7]['line']);
$this->form->addElement('static','function','DB function',$res->backtrace[6]['function']);
$this->form->addElement('header','dberrnote','Detail of DB Array');
foreach($res->backtrace[7]['args'][1] as $key=>$val)
{
$this->form->addElement('static','',$key,$val);
}
}
else//query
{
$this->form->addElement('static','file','File',$res->backtrace[6]['file']);
$this->form->addElement('static','line','Line',$res->backtrace[6]['line']);
$this->form->addElement('static','query','Query',$res->backtrace[6]['args'][0]);
$this->form->addElement('static','function','DB function',$res->backtrace[6]['function']);
}
$this->contentTemplate = 'error.html';
$this->output->compile('errortemplate.html');
$this->output->outputObject($this);
die();
}
function renderContents()
{
//debug_ar($this->form);
$this->form->accept($this->renderer);
$this->form =& $this->renderer->toObject();
$this->output->compile($this->contentTemplate);
print $this->output->bufferedOutputObject($this);
}
//-----------------------------------------------------------------------
function setCSSClass()
{
$this->rowCss = ($this->curCssCounter%2) ? 'item' : 'alternatingItem';
$this->curCssCounter ++;
}
//-----------------------------------------------------------------------
function printListRow($va)
{
// print '<pre>'; print_r($va); print '</pre>';
// print '<pre>'; print_r($this->pageListTitles); print '</pre>';
$rowCss = ($this->curCssCounter%2) ? 'item' : 'alternatingItem';
$this->curCssCounter ++;
foreach($this->pageListTitles as $key=>$val)
{
/*if($key == "Status")
{
$imgPath = ($va[$val] == "I") ?
$this->APP_WEB_ROOT.'/templates/images/icoInactive.gif':
$this->APP_WEB_ROOT.'/templates/images/icoActive.gif' ;
print "<td align='center' class = '$rowCss'><img src='$imgPath' border='0' /></td>";
}
else
*/
if($key == "Status" && ($va[$val] == "Expired" || $va[$val] == "Renewed"))
{
if($va[$val] == "Expired")
print "<td class = '$rowCss'><a href='".$this->controllerFile."?cmd=renewPage&id=".$va['id']."'>Expired</a></td>";
else
print "<td class = '$rowCss'>Renewed</td>";
}
else
if($key == "Name")
{
$arf = split(',',$val);
if(is_array($arf))
{
$jontFields = '';
foreach($arf as $fkey=>$fval)
{
$jontFields = $jontFields . ' ' .$va[$fval];
}
}
else
{
$jontFields = $va[$val];
}
// print "<td class = '$rowCss'> <a href='".$this->controllerFile."?cmd=showDetaillist&id=".$va['id']."'>".htmlspecialchars($jontFields)."</a></td>";
print "<td class = '$rowCss'> <a href='".$this->controllerFile."?cmd=detailPage&id=".$va['id']."'>".htmlspecialchars($jontFields)."</a></td>";
}
elseif($key == "Active")
{
$imgPath = ($va[$val] == "1") ?
$this->APP_WEB_ROOT.'/templates/images/icoActive.gif':
$this->APP_WEB_ROOT.'/templates/images/icoInactive.gif';
print "<td align='right' class = '$rowCss'><img src='$imgPath' border='0' /></td>";
/* <a class="<?=$this->cssClass?>" target="<?=$this->target?>" href="<?=$this->url.'&'.$idName.'='.$id?>" onClick='<?=$this->onclickEvent?>'><img title="Click Hear To Delete This Item" border="0" src="<?=APP_WEB_ROOT?>/templates/images/delicon.gif" /></a>
*/
}
else
{
//
print "<td class = '$rowCss'> ".$va[$val]."</td>";
}
}
if(!empty($this->actionListFlag))
{
print "<td class = '$rowCss' style='text-align:right'>";
$this->listActions->printListOfActions($va['id'],$va['name']);
print "</td>";
}
/**/
}
//---------------------------------------------------------------
function generateMenu(){}
function pager()
{
echo $this->pagerLinks['all'];
}
//-----------------------------
function setPager($table,$PER_PAGE='15')
{
$sql = 'select count(*) as totalrows from '.TPF.$table;
$res =& $this->db->query($sql);
if (PEAR::isError($res)){$this->db_error($res);}
if($res->fetchInto($row))
$trows = $row['totalrows'];
$ar = array();
for($i=1 ; $i<=$trows; $i++){$ar[] = 'item_'.$i;}
$params1 = array(
'perPage' => $PER_PAGE,
'urlVar' => 'pageId', //1st identifier
'delta' => '10',
'itemData' => $ar
);
if(isset($_GET['cmd']))
{
if($_GET['cmd'] == 'deleteRec')
{
$_GET['cmd'] = 'showList';
unset($_GET['id']);
}
}
$pager = & new Pager_Sliding($params1);
$this->pagerLinks = $pager->getLinks();
$this->curPageId = isset($_REQUEST['pageId']) ? intval($_REQUEST['pageId']) : 0;
$start = ($this->curPageId-1)*$PER_PAGE;
if($start <0) $start = 0;
$sql = 'SELECT * FROM '.TPF.$table;
$res =& $this->db->limitQuery($sql,$start,$PER_PAGE);
$prows = $res->numRows();
if($prows == 0 && $trows > 0)
{
foreach($ar as $ele)
{
$sar = split('=',$ele);
if($sar[0] == 'pageId')
$sar[1] = $sar[1]-1;
$newStr = $newStr.$emsAnd.$sar[0].'='.$sar[1];
$emsAnd = '&';
}
header('location:'.$_SERVER['PHP_SELF'].$newStr);
}
return $res;
}
//------------------------------------------
function setPagerSQL($sql,$PER_PAGE='15')
{
$res =& $this->db->query($sql);
if (PEAR::isError($res)) {$this->db_error($res);}
$trows = $res->numRows();
$ar = array();
for($i=1 ; $i<=$trows; $i++){$ar[] = 'item_'.$i;}
$params1 = array(
'perPage' => $PER_PAGE,
'urlVar' => 'pageId', //1st identifier
'delta' => '10',
'itemData' => $ar
);
$pager = & new Pager_Sliding($params1);
$this->pagerLinks = $pager->getLinks();
$this->curPageId = isset($_REQUEST['pageId']) ? intval($_REQUEST['pageId']) : 0;
$start = ($this->curPageId-1)*$PER_PAGE;
if($start <0) $start = 0;
$res =& $this->db->limitQuery($sql,$start,$PER_PAGE);
$prows = $res->numRows();
$emsAnd = '?';
if($prows == 0 && $trows > 0)
{
$qstr = $_SERVER['QUERY_STRING'];
//$qstr = 'id=8&'.$qstr.'&pna=745';
$ar = split('&',$qstr);
foreach($ar as $ele)
{
$sar = split('=',$ele);
if($sar[0] == 'pageId')
{
$sar[1] = $sar[1]-1;
}
$newStr = $newStr.$emsAnd.$sar[0].'='.$sar[1];
$emsAnd = '&';
}
header('location:'.$_SERVER['PHP_SELF'].$newStr);
}
return $res;
}
//-------------------------------------------
}//end of class PageBase
//----------------------
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -