コード例 #1
0
ファイル: capsule.class.php プロジェクト: rafaldrive/ucaps
 function loadSubCapsule($path, $params = '', $sname = null)
 {
     // echo " [loading subCapsule $path with $params] ";
     $name = strtolower($path);
     if (!file_exists(CAPSULES_PATH . $path . '.view')) {
         if (file_exists(CAPSULES_PATH . $path . '/' . $path . '.view')) {
             $path = $path . '/' . $path;
         }
     }
     if (strstr($path, '/')) {
         $a = explode('/', $path);
         $controller = ucwords($a[count($a) - 1]);
         $name = strtolower($controller);
     } else {
         $controller = ucwords($path);
     }
     if (file_exists(CAPSULES_PATH . $path . '.controller')) {
         require_once CAPSULES_PATH . $path . '.controller';
     } else {
         if (DEFAULT_BUFFERTIME > 0) {
             loadLib('bufferedcapsule');
             $controller = 'Bufferedcapsule';
             $params = name2url($path);
         } else {
             $controller = 'Capsule';
         }
     }
     $view = $path . '.view';
     $capsuleobject = new $controller($view);
     $capsuleobject->init($params);
     if (!is_null($sname)) {
         $name = $sname;
     }
     // echo " [name=$name] ";
     $this->params[$name] = $capsuleobject->getHtml();
     return $capsuleobject;
 }
コード例 #2
0
ファイル: engine.functions.php プロジェクト: rafaldrive/ucaps
function getCapsuleFromAutomapping($surl)
{
    if (strlen($surl) == 0) {
        return array();
    }
    if ($surl[0] == '/') {
        $surl = substr($surl, 1);
    }
    //accept only existing Capsules
    $aurlparts = explode("/", $surl);
    $capsulename = $aurlparts[0];
    if (!is_dir(CAPSULES_PATH . $capsulename)) {
        return array();
    }
    $params = '';
    $nurlparts = count($aurlparts);
    if ($nurlparts == 2) {
        //url like /capsulename/view
        $path_parts = pathinfo($surl);
        $filename = $path_parts['basename'];
        $filename = str_replace(' ', '_', $filename);
        $filename = str_replace('%20', '_', $filename);
        $capspath = CAPSULES_PATH . $capsulename . '/' . $filename . '.controller';
        if (file_exists($capspath)) {
            return array('capsule' => $capsulename, 'controller' => $filename, 'view' => $filename, 'params' => '');
        }
        $viewpath = CAPSULES_PATH . $capsulename . '/' . $filename . '.view';
        if (DEFAULT_BUFFERTIME > 0) {
            loadLib('bufferedcapsule');
            $controller = 'bufferedcapsule';
            $params = name2url($path);
        } else {
            $controller = 'capsule';
        }
        if (file_exists($viewpath)) {
            return array('capsule' => $capsulename, 'controller' => $controller, 'view' => $filename, 'params' => $params);
        }
    }
    if ($nurlparts == 1) {
        //url like /capsulename
        $viewpath = CAPSULES_PATH . $capsulename . '/' . $capsulename . '.view';
        // echo " mapping $capsulename ";
        if (file_exists(CAPSULES_PATH . $capsulename . '/' . $capsulename . '.controller')) {
            $controller = $capsulename;
        } else {
            if (DEFAULT_BUFFERTIME > 0) {
                loadLib('bufferedcapsule');
                $controller = 'bufferedcapsule';
                $params = name2url($path);
            } else {
                $controller = 'capsule';
            }
        }
        if (file_exists($viewpath)) {
            return array('capsule' => $capsulename, 'controller' => $controller, 'view' => $capsulename, 'params' => $params);
        }
        if (file_exists(CAPSULES_PATH . $capsulename . '/' . $capsulename . '.controller')) {
            return array('capsule' => $capsulename, 'controller' => $controller, 'view' => $capsulename, 'params' => $params);
        }
    }
    return array();
}