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/DownloadsBehavior.php

<?PHP
class DownloadsBehavior extends ModelBehavior{
    
    ####################################################################################################################################
    public function afterSave(Model $model,$created,$option = array()){
        parent::afterSave($model,$created);
        if(isset($model->data['Download']) && isset($model->id)){
            $downloads=&$model->data['Download'];
            $order=0;
            foreach($downloads as $k=>$v){
                $downloads[$k]['reference_id']=$model->id;
                $downloads[$k]['order']=$order;
                $order++;
            }
            ClassRegistry::init('Painel.Download')->saveAll($downloads);
        }
    }    
    ####################################################################################################################################
    public function afterFind(Model $model,$results,$primary=false){
        parent::afterFind($model,$results,$primary);
        foreach($results as $k=>$v){
            if(isset($v[$model->alias]['id']) && !empty($v[$model->alias]['id'])){
                $downloads=ClassRegistry::init('Painel.Download')->find('all',array(
                    'order'=>'Download.id DESC',
                    'conditions'=>array(
                        'Download.reference_id'=>$v[$model->alias]['id'],
                    ),
                    'order'=>'Download.order ASC',
                ));
                foreach($downloads as $s=>$n){
                    $downloads[$s]=array_shift($n);
                    $downloads[$s]['download']='/download/'.  str_replace(DS, '/', $downloads[$s]['path']);
                }
                $results[$k]['Download']=$downloads;
            }
        }
        //pre($results);
        return $results;
    }
}

Zerion Mini Shell 1.0