Example #1
0
File: pps.php Project: xpd1437/swap
 protected static function do_render_in($_view_dir, $_pps_type, target $_target)
 {
     foreach ($_target->get_param('link', []) as $_linked_name) {
         $_file = $_pps_type . '/' . $_linked_name . '.' . $_pps_type;
         $_pps_file = $_view_dir . '/' . $_file;
         if (is_readable($_pps_file)) {
             if (kernel::is_debug()) {
                 echo "\n/******** {$_file} ********/\n\n";
             }
             require $_pps_file;
         }
     }
     $_layout_name = $_target->get_param('layout', '');
     if ($_layout_name !== '') {
         $_file = 'layout/' . $_layout_name . '.' . $_pps_type;
         $_pps_file = $_view_dir . '/' . $_file;
         if (is_readable($_pps_file)) {
             if (kernel::is_debug()) {
                 echo "\n/******** {$_file} ********/\n\n";
             }
             require $_pps_file;
         }
     }
     foreach ($_target->get_param('block', []) as $_block_name) {
         $_file = 'block/' . $_block_name . '.' . $_pps_type;
         $_pps_file = $_view_dir . '/' . $_file;
         if (is_readable($_pps_file)) {
             if (kernel::is_debug()) {
                 echo "\n/******** {$_file} ********/\n\n";
             }
             require $_pps_file;
         }
     }
     if ($_target->get_target_name() !== '') {
         $_file = 'page/' . $_target->get_target_file('.' . $_pps_type);
         $_pps_file = $_view_dir . '/' . $_file;
         if (is_readable($_pps_file)) {
             if (kernel::is_debug()) {
                 echo "\n/******** {$_file} ********/\n\n";
             }
             require $_pps_file;
         }
     }
 }
Example #2
0
File: php.php Project: xpd1437/swap
 /**
  * 把 page tpl 的渲染结果当做 http 响应内容体发出去,不包含 skeleton。
  *
  *   self::send_page();                              // 
  *   self::send_page('page_name');                   // 
  *   self::send_page('page_name', $with_pps = true); // 
  */
 public static function send_page()
 {
     $func_args = func_get_args();
     $num_args = func_num_args();
     $with_pps = parent::$skeleton !== false;
     if ($num_args === 0) {
         $target_name = self::get_target_name_from_page_name();
     } else {
         if ($num_args === 1) {
             if (is_bool($func_args[0])) {
                 $target_name = self::get_target_name_from_page_name();
                 $with_pps = $func_args[0];
             } else {
                 $target_name = self::get_target_name_from_page_name($func_args[0]);
             }
         } else {
             if (is_bool($func_args[1])) {
                 $target_name = self::get_target_name_from_page_name($func_args[0]);
                 $with_pps = $func_args[1];
             } else {
                 throw new developer_error('bad call to send_page');
             }
         }
     }
     $target = new target($target_name);
     $html = self::render_tpl('page/' . $target->get_target_file() . '.tpl', context::get_escaped(), false);
     if (parent::$skeleton !== false && $with_pps) {
         ob_start();
         parent::echo_css_link(router::pps_url('pss.php?page=' . $target->get_target_name(), false));
         echo $html;
         parent::echo_js_link(router::pps_url('pjs.php?page=' . $target->get_target_name(), false));
         self::send(ob_get_clean());
     } else {
         self::send($html);
     }
 }