2012-08-31 3 views
0

안녕하세요 내 사이트에 다음과 같은 메시지 www.csvc.nl치명적인 오류 : 비 개체의 멤버 함수의 getPermissionKeyByHandle()를 호출

치명적인 오류 얻을 : 멤버 함수의 getPermissionKeyByHandle에()를 호출에 라인 /var/www/vhosts/csvc.nl/httpdocs/cms/updates/concrete5.6.0/concrete/core/models/permission/response.php에 비 목적 53

PHP 코드이다 :

<?php 
    defined('C5_EXECUTE') or die("Access Denied."); 
    class Concrete5_Model_PermissionResponse { 

protected $object; 
protected $allowedPermissions = array(); 
protected $customClassObjects = array(); 
protected $category; 
static $cache = array(); 

public function setPermissionObject($object) { 
    $this->object = $object; 
} 
public function getPermissionObject() { 
    return $this->object; 
} 
public function setPermissionCategoryObject($category) { 
    $this->category = $category; 
} 

public function testForErrors() { } 

public static function getResponse($object) { 
    $r = PermissionCache::getResponse($object); 
    if (is_object($r)) { 
     return $r; 
    } 

    $category = PermissionKeyCategory::getByHandle(Loader::helper('text')-  >uncamelcase(get_class($object))); 
    if (!is_object($category) && $object instanceof Page) { 
     $category = PermissionKeyCategory::getByHandle('page'); 
    } 
    $txt = Loader::helper('text'); 
    $c1 = get_class($object) . 'PermissionResponse'; 
    if (!class_exists($c1)) { 
     $c1 = 'PagePermissionResponse'; 
    } 
    $pr = new $c1(); 
    $pr->setPermissionObject($object); 
    $pr->setPermissionCategoryObject($category); 

    PermissionCache::addResponse($object, $pr); 

    return $pr; 
} 

public function validate($permission, $args = array()) { 
    $u = new User(); 
    if ($u->isSuperUser()) { 
     return true; 
    } 

    $pk = $this->category->getPermissionKeyByHandle($permission); 
    if (!$pk) { 
     print t('Unable to get permission key for %s', $permission); 
     exit; 
    } 
    $pk->setPermissionObject($this->object); 
    return call_user_func_array(array($pk, 'validate'), $args); 
} 

public function __call($f, $a) { 
    $permission = substr($f, 3); 
    $permission = Loader::helper('text')->uncamelcase($permission); 
    return $this->validate($permission, $a); 
} 

문제가 무엇인지 아는 사람이 있습니까?

답변