示例#1
0
    public function absolutePreProcessing() {
        $pageID = _FCORE::IsSetPostDefault(
                        PAGES_PAGEID,
                        _FCORE::IsSetGetDefault(
                            PAGES_PAGEID,
                            false));
        if ($pageID){
            $db = _DB::_Connect();
            $this->crossInfo[_ADMINPAGE::PAGES_INFO] = DB_PAGE::_GetPage($db, $pageID);
            $this->crossInfo[_ADMINPAGE::USERS_LIST] = DB_USER::_GetUser($db, $this->crossInfo[_ADMINPAGE::PAGES_INFO]->getUserID());
            $action = _FCORE::IsSetPostDefault(ACTION_GO, false);
            if ($action){
                switch($action){
                    case ACTION_RIGHTS:
                        $userID = $this->crossInfo[_ADMINPAGE::PAGES_INFO]->getUserID();
                        if (_SESSION::GetIsMaster() || $userID == _SESSION::GetUserID()){
                            $rightsList = explode("&",_FCORE::IsSetPost(_ADMINPAGE::RIGHTS_LIST));
                            $count = sizeof($rightsList);
                            for($i=0; $i<$count; $i++){
                                try {
                                    $this->crossInfo[_ADMINPAGE::PAGES_INFO]->setRights(
                                            $rightsList[$i],
                                            _FCORE::IsSetPOST($rightsList[$i]));
                                    $this->crossInfo[RESULTS] .= "<div>Right Updated</div>";
                                } catch(Exception $e){ $this->crossInfo[RESULTS] .= "<div>Exception".$e->getMessage().$e->getLine().$e->getFile()."</div>"; }
                            }
                        } else {
                            $this->crossInfo[RESULTS] .= "<div>Failed</div>";
                        }
                        break;
                    case ACTION_UPDATE:
                        $title = _FCORE::IsSetPostDefault(PAGES_TITLE, false);
                        $content = _FCORE::IsSetPostDefault(PAGES_CONTENT, false);
                        if ($title && $content){
                            if ((($this->crossInfo[_ADMINPAGE::PAGES_INFO]->getUserID() == _SESSION::GetUserID()) && _SESSION::GetCanCDSelf()) ||
                                (($this->crossInfo[_ADMINPAGE::PAGES_INFO]->getUserID() != _SESSION::GetUserID()) && _SESSION::GetCanCDOther())) {
                                try {
                                    $this->crossInfo[_ADMINPAGE::PAGES_INFO]->setTitle($title);
                                    $this->crossInfo[_ADMINPAGE::PAGES_INFO]->setContent($content);
                                    $this->crossInfo[RESULTS] .= "Successfully Updated Content";
                                } catch(Exception $e){
                                    $this->crossInfo[RESULTS] .= "An Internal Error Occurred: ".$e->getMessage();
                                }
                            } else {
                                _FCORE::Redirect(ERROR_HTTP_ACCESSDENIED);
                            }
                        } else {

                        }
                        break;
                }
            }
            $this->crossInfo[_ADMINPAGE::RIGHTS_LIST] = DB_PAGE::_GetPageRights($db, $pageID);
            $db->disconnect();
        } else {
            _FCORE::Redirect(ERROR_HTTP_UNKNOWNACTION);
        }
    }