Вход Регистрация
Файл: system/controllers/photos/hooks/content_albums_before_item.php
Строк: 65
<?php

class onPhotosContentAlbumsBeforeItem extends cmsAction {

    public function 
run($data){

        list(
$ctype$album$fields) = $data;

        
$allow_add_public_albums false;
        if (!empty(
$this->options['allow_add_public_albums']) &&
                
$this->cms_user->isInGroups($this->options['allow_add_public_albums'])) {
            
$allow_add_public_albums true;
        }

        
$is_allow = (empty($album['id']) && cmsUser::isAllowed($ctype['name'], 'add')) ||
                (!empty(
$album['is_public']) && $allow_add_public_albums) ||
                (
$this->cms_user->id && $album['user_id'] == $this->cms_user->id) ||
                
$this->cms_user->is_admin;

        if (
$is_allow) {

            
$this->cms_template->addToolButton(array(
                
'class' => 'images',
                
'icon'  => 'upload',
                
'title' => LANG_PHOTOS_UPLOAD,
                
'href'  => href_to($this->name'upload'$album['id'])
            ));

        }

        
$album['filter_panel'] = array(
            
'ordering'    => modelPhotos::getOrderList(),
            
'orderto'     => array('asc' => LANG_SORTING_ASC'desc' => LANG_SORTING_DESC),
            
'type'        => (!empty($this->options['types']) ? (array('' => LANG_PHOTOS_ALL) + $this->options['types']) : array()),
            
'orientation' => modelPhotos::getOrientationList(),
            
'width'       => '',
            
'height'      => ''
        
);

        
$album['filter_values'] = array(
            
'ordering'    => $this->cms_core->request->get('ordering'$this->options['ordering']),
            
'orderto'     => $this->cms_core->request->get('orderto'$this->options['orderto']),
            
'type'        => $this->cms_core->request->get('type'''),
            
'orientation' => $this->cms_core->request->get('orientation'''),
            
'width'       => $this->cms_core->request->get('width'0) ?: '',
            
'height'      => $this->cms_core->request->get('height'0) ?: ''
        
);

        
$album['url_params'] = array_filter($album['filter_values']);

        
$album['filter_selected'] = $album['url_params'];
        if(
$album['filter_selected']['ordering'] == $this->options['ordering']){ unset($album['filter_selected']['ordering']); }
        if(
$album['filter_selected']['orderto'] == $this->options['orderto']){ unset($album['filter_selected']['orderto']); }

        
$album['photos_url_params'] = array();
        if(!empty(
$album['filter_selected']['ordering'])){
            
$album['photos_url_params']['ordering'] = $album['filter_selected']['ordering'];
        }
        if(!empty(
$album['filter_selected']['orderto'])){
            
$album['photos_url_params']['orderto'] = $album['filter_selected']['orderto'];
        }
        if(
$album['photos_url_params']){
            
$album['photos_url_params'] = http_build_query($album['photos_url_params']);
        }

        if(!
in_array($album['filter_values']['ordering'], array_keys($album['filter_panel']['ordering']))){
            
$album['filter_values']['ordering'] = 'date_pub';
        }

        if(!
in_array($album['filter_values']['orderto'], array('asc''desc'))){
            
$album['filter_values']['orderto'] = 'desc';
        }

        if(
$album['filter_values']['type'] && !isset($album['filter_panel']['type'][$album['filter_values']['type']])){
            
$album['filter_values']['type'] = '';
        }

        if(
$album['filter_values']['orientation'] && !in_array($album['filter_values']['orientation'], array_keys($album['filter_panel']['orientation']))){
            
$album['filter_values']['orientation'] = '';
        }

        if(!empty(
$album['slug'])){
            
$album['base_url'] = href_to($ctype['name'], $album['slug'].'.html').'?'.http_build_query($album['url_params']);
        } else {
            
$album['base_url'] = href_to('photos').'?'.http_build_query($album['url_params']);
        }

        foreach (
$album['filter_selected'] as $key => $value) {
            if(isset(
$album['filter_panel'][$key][$value])){
                
$title[] = $album['filter_panel'][$key][$value];
            }
        }
        if(!empty(
$title)){
            
$album['title'] .= ' — '.mb_strtolower(implode(', '$title));
            
$album['seo_desc'] .= ' '.$album['title'];
        }

        return array(
$ctype$album$fields);

    }

}
Онлайн: 0
Реклама