code/control/KapostService.php
protected function getPreview($blog_id, $content, $content_id) {
        $results=$this->extend('getPreview', $blog_id, $content, $content_id);
        if($results && is_array($results)) {
            $results=array_filter($results, function($v) {return !is_null($v);});
        
            if(count($results)>0) {
                return array_shift($results);
            }
        }
        
        
        //Detect if the record already exists or not so we can decide whether to create a new record or edit an existing
        $existing=KapostObject::get()->filter('KapostRefID', Convert::raw2sql($content_id))->first();
        if(!empty($existing) && $existing!==false && $existing->exists()) {
            $resultID=$content_id;
            
            $this->editPost($content_id, $content, false, true);
        }else {
            $resultID=$this->newPost($blog_id, $content, false, true);
            
            //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response
            if(is_object($resultID)) {
                return $resultID;
            }
            
            //Find the object
            $existing=KapostObject::get()->filter('KapostRefID', Convert::raw2sql($resultID))->first();
        }
        
        //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response
        if(is_object($resultID)) {
            return $resultID;
        }
        
        
        //Generate a preview token record
        $token=new KapostPreviewToken();
        $token->Code=sha1(uniqid(time().$resultID));
        $token->KapostRefID=$resultID;
        $token->write();
        
        
        //Return the details to kapost
        return array(
                    'url'=>Controller::join_links(Director::absoluteBaseURL(), 'kapost-service/preview', $resultID, '?auth='.$token->Code),
                    'id'=>$resultID
                );
    }
protected function getPreview($blog_id, $content, $content_id) {
        $results=$this->extend('getPreview', $blog_id, $content, $content_id);
        if($results && is_array($results)) {
            $results=array_filter($results, function($v) {return !is_null($v);});
        
            if(count($results)>0) {
                return array_shift($results);
            }
        }
        
        
        //Detect if the record already exists or not so we can decide whether to create a new record or edit an existing
        $existing=KapostObject::get()->filter('KapostRefID', Convert::raw2sql($content_id))->first();
        if(!empty($existing) && $existing!==false && $existing->exists()) {
            $resultID=$content_id;
            
            $this->editPost($content_id, $content, false, true);
        }else {
            $resultID=$this->newPost($blog_id, $content, false, true);
            
            //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response
            if(is_object($resultID)) {
                return $resultID;
            }
            
            //Find the object
            $existing=KapostObject::get()->filter('KapostRefID', Convert::raw2sql($resultID))->first();
        }
        
        //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response
        if(is_object($resultID)) {
            return $resultID;
        }
        
        
        //Generate a preview token record
        $token=new KapostPreviewToken();
        $token->Code=sha1(uniqid(time().$resultID));
        $token->KapostRefID=$resultID;
        $token->write();
        
        
        //Return the details to kapost
        return array(
                    'url'=>Controller::join_links(Director::absoluteBaseURL(), 'kapost-service/preview', $resultID, '?auth='.$token->Code),
                    'id'=>$resultID
                );
    }
protected function getPreview ( $ blog_id , $ content , $ content_id ) { $ results = $ this -> extend ( 'getPreview' , $ blog_id , $ content , $ content_id ) ; if ( $ results && is_array ( $ results ) ) { $ results = array_filter ( $ results , function ( $ v ) { return ! is_null ( $ v ) ; } ) ; if ( count ( $ results ) > 0 ) { return array_shift ( $ results ) ; } } //Detect if the record already exists or not so we can decide whether to create a new record or edit an existing $ existing = KapostObject :: get ( ) -> filter ( 'KapostRefID' , Convert :: raw2sql ( $ content_id ) ) -> first ( ) ; if ( ! empty ( $ existing ) && $ existing !== false && $ existing -> exists ( ) ) { $ resultID = $ content_id ; $ this -> editPost ( $ content_id , $ content , false , true ) ; } else { $ resultID = $ this -> newPost ( $ blog_id , $ content , false , true ) ; //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response if ( is_object ( $ resultID ) ) { return $ resultID ; } //Find the object $ existing = KapostObject :: get ( ) -> filter ( 'KapostRefID' , Convert :: raw2sql ( $ resultID ) ) -> first ( ) ; } //Make sure we got the kapost hash back or an id if we got an object back we assume that it's a response if ( is_object ( $ resultID ) ) { return $ resultID ; } //Generate a preview token record $ token = new KapostPreviewToken ( ) ; $ token -> Code = sha1 ( uniqid ( time ( ) . $ resultID ) ) ; $ token -> KapostRefID = $ resultID ; $ token -> write ( ) ; //Return the details to kapost return array ( 'url' => Controller :: join_links ( Director :: absoluteBaseURL ( ) , 'kapost-service/preview' , $ resultID , '?auth=' . $ token -> Code ) , 'id' => $ resultID ) ; }
Handles rendering of the preview
@param mixed $blog_id Identifier for the current site
@param array $content Post details
@param mixed $content_id Identifier for the post
Handles rendering of the preview