示例#1
0
 function __construct($scriptPath = "")
 {
     parent::__construct($scriptPath);
     //这里默认设置一些数据
     //包括 Header Title Css CharSet
     //XSLT等
     //其他一些数据等...
 }
示例#2
0
文件: Ajax.php 项目: uwitec/outbuying
 /**
  * @todo 解决和dialog重复的问题
  *
  * @param boolean $show
  * @return string
  */
 public function render($show = true)
 {
     ob_start();
     /**
      * ajax 也要显示显示 Tq消息
      * Tq消息要在 tip 之前
      * ajax不显示消息, 此时消息存在 session 里,下次统一发送
      */
     //echo Tpm_Message_Sender_Tq::getMsgHtml();
     /**
      * 这里显示主体部分
      */
     parent::render(true);
     $out = ob_get_clean();
     if ($show) {
         echo $out;
     }
     //如果输出debug信息, Ajax会不爽
     Pft_Debug::getDefaultDebug()->clearDebugInfo();
     return $out;
 }
示例#3
0
文件: Csv.php 项目: uwitec/outbuying
 /**
  * 以XML的方式渲染数据并输出
  *
  * @param boolean $show
  * @return string
  */
 public function render($show = true)
 {
     //		header( "Content-type: application/octetstream" );
     //		header( "Content-Disposition: attachment; filename=".date('Y-m-d H:i:s').".csv" );
     //		header('Content-type: application/csv');
     //		header('Content-Disposition: attachment; filename="xxx.csv"');
     ob_start();
     //这里显示菜单
     //这里显示主体部分
     //parent::render( true );
     reset($this->_data);
     /**
      * 这里显示主体部分
      */
     parent::render(true);
     //这里显示底部
     $out = ob_get_clean();
     if ($show) {
         echo $out;
     }
     //如果输出debug信息, XML会报错
     Pft_Debug::getDefaultDebug()->clearDebugInfo();
     return $out;
 }
示例#4
0
    /**
     * 职责变了,这个方法没有用了
     *
     * @param boolean $show
     * @return string
     */
    public function render($show = true)
    {
        /**
         * 是否输出主体
         */
        $outputBody = true;
        ob_start();
        //echo "Html Header";
        //echo "Body Header";
        if ($this->_header && is_array($this->_header)) {
            //这里展开了 sys_title 和 tpm_css
            extract($this->_header);
        }
        include $this->_getAbsViewPathFilename("inc/header.dailog.html.php");
        /**
         * 基础js函数
         */
        ?>
<!--日历选择时间时调用服务器时间 jute 20071122-->
<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/calendar/tpmsystemdate.php"></script>
<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/common.js"></script>
<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/john/ajax.js"></script>
<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/prototype_1_5_0.js"></script>
<!--ext-->
<!--link rel="stylesheet" type="text/css" href="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/ext-1.0/resources/css/ext-all.css" /-->
<!-- GC -->
<?php 
        if (@$_REQUEST['ext-all']) {
            ?>
<!-- LIBS -->
<script type="text/javascript" src="<?php 
            echo Pft_Config::getHttpHost();
            ?>
js/ext-1.0/adapter/yui/yui-utilities.js"></script>
<script type="text/javascript" src="<?php 
            echo Pft_Config::getHttpHost();
            ?>
js/ext-1.0/adapter/yui/ext-yui-adapter.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="<?php 
            echo Pft_Config::getHttpHost();
            ?>
js/ext-1.0/ext-all.js"></script>
<?php 
        } else {
            ?>
<!--Used in Tpm-->
<!--script type="text/javascript" src="<?php 
            echo Pft_Config::getHttpHost();
            ?>
js/ext.js"></script-->
<?php 
        }
        ?>
<!--END Ext-->

<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/john/jsdialog/dialog.js"></script>
<link rel='stylesheet' href='./js/john/jsdialog/dialog.css'>
<script src="<?php 
        echo Pft_Config::getHttpHost();
        ?>
js/john/sendMsg.js"></script>
<div id="popup_div_msg" style="position:absolute;display:none">
</div>
<?php 
        /**
         * 在top显示loading
         */
        //		echo "<script>if(top.controlProgressBar)top.controlProgressBar();</script>";
        /**
         * 这里显示 Tq消息
         * Tq消息要在 tip 之前
         */
        echo Tpm_Message_Sender_Tq::getMsgHtml();
        /**
         * 处理在 ctrl 里设置的tip提示信息
         */
        if (key_exists(Pft_Controller_Action::HEADER_TIP, $this->_header)) {
            $tip = $this->_header[Pft_Controller_Action::HEADER_TIP];
            echo "<script>";
            if ($nextUrl = $tip[Pft_Controller_Action::HEADER_TIP_URL]) {
                $matchs = null;
                if (preg_match("/^javascript:(.*)/", $nextUrl, $matchs)) {
                    //						echo "function onloadTip(){Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."', function(){{$matchs[1]};return false;});}";
                    echo "function onloadTip() {top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');{$matchs[1]}}";
                } else {
                    //						echo "function onloadTip(){Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."', function(){location.href='".$nextUrl."';return false;});}";
                    echo "function onloadTip() {top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');location.href='" . $nextUrl . "'}";
                }
                //如果有转向,则不输出主体
                $outputBody = false;
            } else {
                //				echo "function onloadTip(){top.Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."');}";
                echo "function onloadTip(){top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');}";
            }
            echo "window.onload = onloadTip;";
            //echo "Ext.onready( onloadTip );";
            echo "</script>";
        }
        if ($outputBody) {
            //没有设置不显示主体
            //这里显示菜单 有true 是因为 菜单数据目前是在Pft_View_Helper_Menu里的
            //			if( isset( $this->_header["menu"] ) )
            //			{
            //				//var_dump( $this->_header );
            //				$menu = new Pft_View_Helper_Menu();
            //				$menu->buildMenu( $this->_header["menu"] );
            //				//$menu->buildMenu( null );
            //			}
            /**
             * 这里显示主体部分
             */
            parent::render(true);
        }
        /**
         * 结束loading
         */
        //		echo "<script>if(top.Element)top.Element.hide('floatProgress_backgroup')//top.controlProgressBar('1');</script>";
        //		echo "<script>if(top.Element)top.Element.hide('floatProgress')//top.controlProgressBar('1');</script>";
        /**
         * 这里显示底部
         */
        //echo "Body Footer";
        //include( $this->_getAbsViewPathFilename( "inc/footer.dailog.html.php" ) );
        $out = ob_get_clean();
        if ($show) {
            echo $out;
        }
        return $out;
    }
示例#5
0
 /**
  * 处理 do
  * 有可能会返回 goToDo
  * 
  * 只有一个单词的do,对应的action是 index
  * 
  *
  * @param string $do
  * @return string $goToDo
  */
 protected function processDo($do, $defaultView = "Html")
 {
     if ($do == "") {
         $e = new Pft_Exception(Pft_I18n::trans("ERR_DISPATCH_NODO"));
         throw $e;
     }
     $goToDo = "";
     $arrCtrlAndAction = $this->_analyzeDoToControllerAndAction($do);
     $controller = $arrCtrlAndAction[0];
     $action = $arrCtrlAndAction[1];
     $doFile = $arrCtrlAndAction[2];
     $doAction = $arrCtrlAndAction[3];
     //使用 ob_start 是为了Controller里的 redirect 可以正常使用
     //ob_start();
     $theCtrl = Pft_Controller_Action::factory($controller, $action);
     /**
      * 检查 会话的权限。 
      * 如果没有权限,抛出一个异常
      * 此处别扭
      */
     $rbac = new Pft_Rbac();
     //$rbac->checkSession(Pft_Session::getSession(), $do);
     $privilege = $rbac->checkActionPrivilege(Pft_Session::getSession(), $theCtrl, $action);
     if ($privilege instanceof TpmYonghuzhaoquanxian) {
         if (!$theCtrl->getTitle()) {
             $theCtrl->setTitle(Pft_I18n::trans($privilege->getQxMingcheng()));
         }
     }
     Pft_Debug::addInfoToDefault('', 'Pre do action.');
     if (method_exists($theCtrl, $doAction)) {
         //执行controller中的action
         $theCtrl->{$doAction}();
     } else {
         throw new Exception(Pft_I18n::trans("ERR_APP_LOST_ACTION"));
     }
     Pft_Debug::addInfoToDefault('', 'After do action..');
     $goToDo = $theCtrl->getGoToDo();
     $data = $theCtrl->getData();
     if (defined("DEBUG") && DEBUG) {
         //调试阶段才显示Controller里输出的信息
         //echo ob_get_clean();
     } else {
         //用户使用阶段不允许 action 里输出显示数据
         //ob_clean();
     }
     if ($theCtrl->isNeedView()) {
         Pft_Debug::addInfoToDefault('', 'Pre load view..');
         if ($theCtrl->getViewType()) {
             $defaultView = $theCtrl->getViewType();
         }
         $view = Pft_View::factory($defaultView, Pft_Config::getViewPath());
         $view->setHeader($theCtrl->getHeader());
         Pft_Debug::addInfoToDefault('', 'After view factory..');
         /**
          * 如果用户已登录,读取菜单信息
          * @todo 未登录可能也可以有菜单
          */
         if ($user_id = Pft_Session::getSession()->getUserId()) {
             $tpmCaidans = TpmCaidanPeer::getJueseCaidan(Pft_Session::getSession()->getRoleId());
             if (count($tpmCaidans)) {
                 $view->setHeader($tpmCaidans, "menu");
                 //					$menus = array();
                 //					foreach ( $tpmCaidans as $tpmCaidan )
                 //					{
                 //						$menus[] = array( $tpmCaidan->getCdMingcheng()
                 //						                , $tpmCaidan->getCdChuliye()
                 //						);
                 //					}
                 //					$view->setHeader( $menus, "menu" );
             }
         }
         //读取菜单完
         //$view->renderModel($theCtrl);
         $view->renderView($data, $this->_getDefaultViewFileOfAction($controller, $action), true);
     }
     return $goToDo;
 }
示例#6
0
文件: Html.php 项目: uwitec/outbuying
 /**
  * @todo 解决和dialog重复的问题
  *
  * @param boolean $show
  * @return string
  */
 public function render($show = true)
 {
     $haveHeaderInfo = $this->_header && is_array($this->_header);
     /**
      * 是否输出主体,默认输出
      */
     $outputBody = true;
     //ob_start();
     //echo "Html Header";
     //echo "Body Header";
     if ($haveHeaderInfo) {
         //这里展开了 sys_title 和 tpm_css
         extract($this->_header);
     }
     /*
     if( !isset( $sys_title ) || $sys_title=="" ) $sys_title = "TPM";
     $sys_title .= "[".Pft_Session::getSession()->getRoleName().".".Pft_Session::getSession()->getUserName()."]";
     
     include( $this->_getAbsViewPathFilename( "inc/header.html.php" ) );
     */
     /**
      * 基础js函数
      */
     if ($haveHeaderInfo) {
         /**
          * 处理在 ctrl 里设置的tip提示信息
          */
         if (key_exists(Pft_Controller_Action::HEADER_TIP, $this->_header)) {
             $tip = $this->_header[Pft_Controller_Action::HEADER_TIP];
             echo "<script>";
             if ($nextUrl = $tip[Pft_Controller_Action::HEADER_TIP_URL]) {
                 $matchs = null;
                 if (preg_match("/^javascript:(.*)/", $nextUrl, $matchs)) {
                     //						echo "function onloadTip(){Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."', function(){{$matchs[1]};return false;});}";
                     echo "function onloadTip() {top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');{$matchs[1]}}";
                 } else {
                     //						echo "function onloadTip(){Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."', function(){location.href='".$nextUrl."';return false;});}";
                     echo "function onloadTip() {top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');location.href='" . $nextUrl . "'}";
                 }
                 //如果有转向,则不输出主体
                 $outputBody = false;
             } else {
                 //					echo "function onloadTip(){Ext.Msg.alert('TPM', '".addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG])."');}";
                 echo "function onloadTip() {top.alert('" . addslashes($tip[Pft_Controller_Action::HEADER_TIP_MSG]) . "');}";
             }
             echo "window.onload = onloadTip;";
             echo "</script>";
         }
     }
     if ($outputBody) {
         //没有设置不显示主体
         //这里显示菜单 有true 是因为 菜单数据目前是在Pft_View_Helper_Menu里的
         if (isset($this->_header["menu"])) {
             //var_dump( $this->_header );
             $menu = new Pft_View_Helper_Menu();
             $menu->buildMenu($this->_header["menu"]);
         }
         /**
          * 这里显示主体部分
          */
         parent::render(true);
     }
     //</div>
     //<!--End Of Mainbody-->
     /**
      * 这里显示底部
      */
     //include( $this->_getAbsViewPathFilename( "inc/footer.html.php" ) );
     //		$out = ob_get_clean();
     //		if( $show )
     //		{
     //			echo $out;
     //		}
     //		return $out;
 }