<?php
class fieldUs extends cmsFormField {
public $title = 'Список пользователей';
public $sql = 'text NULL DEFAULT NULL';
public $is_vertical = false;
public function getOptions(){
$users_model = cmsCore::getModel('users');
$getf=$users_model->getGroups();
$getmodel = new cmsmodel;
$getmodels=$getmodel->get('users_fields',FALSE,'name');
$getmodels= array_column($getmodels, 'title', 'name');
$getg = array_column($getf, 'title', 'id'); $getg[0]='Все';
new fieldListMultiple
('grup', array( 'title' => 'Выберите групы пользователей',
'items' => $getg
)),
new fieldListMultiple
('pol', array( 'title' => 'Выберите выводимые поля в записи',
'items' => $getmodels
)),
new fieldCheckbox
('grupaf', array( 'title' => 'Выводить название групп полей',
'default' => false
))
);
}
public function parse($value){
$htl='';
$pol=$this->getOption('pol');
$grupaf=$this->getOption('grupaf');
$getmodel = new cmsmodel;
$getmodels=$getmodel->get('users_fields',false,'name');
$users_model = cmsCore::getModel('users');
foreach ($val as $key => $uset){
$use = href_to_profile($users_model->getUser($uset));
$userr=$users_model->getUser($uset);
$card_fields['email'] = 1;
$content_model = cmsCore::getModel('content');
$content_model->setTablePrefix('');
$content_model->orderBy('ordering');
$fields = $content_model->getContentFields('users');
$i=0;
foreach ($fields as $name => $field) {
$inft3=''; $inft='';$inft2='';$titlcah='';$ceshep='';$profile_info='';
foreach ($pol as $poln){
if($field['name']==$poln){
'title' => $field['title'],
'name' =>$field['name'],
'hint' => $field['handler_title'] != $field['title'] ? $field['handler_title'] : '',
'default' => 1
);
} }}
$childs1['profile_fields']=$childs;
$profile = $userr;
$ceshep=$ceshep.'
<div class="widget_profile_card">'; //1
$a='<a href="'.href_to('users', $profile['id']).'"title="'.$profile['nickname'].'" ">';
$ceshep=$ceshep.'<div class="profile_info">'.$a.$profile['nickname'].'</a>';//2
$ceshep=$ceshep.'<div class="avatar"><a href="'.href_to('users', $profile['id']).' ">'.html_avatar_image($profile['avatar'], 'micro', $profile['nickname']).'</a></div>'; }
if (in_array('nickname', $card_fields)) {
$ceshep=$ceshep.'<div class="name"><a href="'. href_to('users', $profile['id']).'">'.'</a></div>';
}
$ceshep=$ceshep.'</div>';} //2
$user = cmsUser::getInstance();
$ceshep=$ceshep.'<div class="card_information content_item">';//2
$fieldsets = cmsForm::mapFieldsToFieldsets($profile_fields, function($field, $user){
if (in_array($field['name'], array('nickname', 'avatar'))){ return false; } return true;
}, $profile);
foreach($fieldsets as $fieldset){ if (!$fieldset['fields']) { continue; }
$ceshep=$ceshep.'<div class="fieldset">';//3
if($grupaf){
if ($fieldset['title']){
$ceshep=$ceshep.'<div class="fieldset_title">
<h3>'.$fieldset['title'].'
</h3>
</div>'; } }
foreach($fieldset['fields'] as $field){
if (empty($profile[$field['name']]) || !$field['is_in_item']) { continue; } if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; }
if (!isset($field['options']['label_in_item'])) { $label_pos = 'none';
} else {
$label_pos = $field['options']['label_in_item'];
}
$ceshep=$ceshep.' <div class="field ft_'.$field['type'].' f_'.$field['name'].'">';//4
if ($label_pos != 'none'){
$ceshep=$ceshep.'<div class="title title_'.$label_pos.'">'.$field['title'].': </div>';
}
$ceshep=$ceshep.'<div class="value">'.$a.$field['handler']->setItem($profile)->parse( $profile[$field['name']] ).'</a>
</div>
</div>';//4
}
$ceshep=$ceshep.'</div>';//3
}
$ceshep=$ceshep.' </div>';//2
}
$ceshep=$ceshep.'</div>';//1
$htl=$htl