Mini Shell

Direktori : /home/brasafestival/www/old/bkp_2023/app/Plugin/Painel/Model/Behavior/
Upload File :
Current File : /home/brasafestival/www/old/bkp_2023/app/Plugin/Painel/Model/Behavior/GalleryBehavior.php

<?php
class GalleryBehavior extends ModelBehavior{
    
    ############################################################################################################################|
    public function beforeFind(Model $model,$query){        
        return $query;        
        $model->bindModel(array(
            'hasMany'=>array(
                'Gallery'=>array(
                    'className'=>'Painel.Gallery',
                    'foreignKey'=>'reference_id',
                    'order'=>'order ASC',
                ),
            ),
        ));        
        return $query;
    }
    ############################################################################################################################|
    public function afterSave(Model $model,$created,$option = array()){
        parent::afterSave($model,$created,$option = array());
        if(isset($model->data['Gallery'])){
            $gallery=&$model->data['Gallery'];
            $order=0;
            foreach($gallery as $k=>$v){
                $gallery[$k]['reference_id']=$model->id;
            }
            ClassRegistry::init('Painel.Gallery')->saveAll($gallery);
        }
    }
    ############################################################################################################################|
    public function afterFind(Model $model,$results=array(),$primary=false){
        foreach($results as $k=>$v){
            if(!isset($v[$model->alias])) continue;
            if(!isset($v[$model->alias]['id'])) continue;
            $id=$v[$model->alias]['id'];
            $galleries=$model->query("SELECT DISTINCT gallery FROM pnn_galleries WHERE reference_id='$id'");
            $results[$k]['Galleries']=array();
            foreach($galleries as $gal){
                @$gal= array_shift(array_shift($gal));
                $results[$k]['Galleries'][$gal]=ClassRegistry::init('Painel.Gallery')->find('all',array('order'=>'Gallery.order ASC, Gallery.id ASC','conditions'=>array(
                    'reference_id'=>$id,
                    'gallery'=>$gal,
                )));
                foreach($results[$k]['Galleries'][$gal] as $r=>$s){
                    $results[$k]['Galleries'][$gal][$r]=array_shift($s);
                }
            }
        }
        return $results;        
    }
    ############################################################################################################################|
    public function afterDelete(Model $model){
        parent::afterDelete($model);
        if(isset($model->id) && !empty($model->id)){
            $images=ClassRegistry::init('Painel.Gallery')->find('all',array('conditions'=>array('reference_id'=>$model->id)));
            foreach($images as $image){
                if(file_exists($image['Gallery']['path'])) @unlink($image['Gallery']['path']);
            }
            ClassRegistry::init('Painel.Gallery')->deleteAll(array('reference_id'=>$model->id));
        }
    }
}

Zerion Mini Shell 1.0