Revize 102
Přidáno uživatelem Tomáš Dulík před asi 16 roky(ů)
freenetis/trunk/kohana/application/models/enum_type.php | ||
---|---|---|
<?php
|
||
class Enum_type_Model extends ORM{
|
||
<?php
|
||
class Enum_type_Model extends ORM {
|
||
const type_id_member=1,
|
||
type_id_device=2;
|
||
/**
|
||
* enum_types array supplements a database table, holding the names for
|
||
* all enumeration types for dropdown fields.
|
||
* Such a table is not necessary, because inserting a new type name into
|
||
* the table would have to be accompanied by modifying the PHP code which
|
||
* takes care about displaying as a new dropdown field.
|
||
*
|
||
* @var array of integers, where index is a string
|
||
*/
|
||
private static $enum_types=array(
|
||
self::type_id_member=>"Member types",
|
||
self::type_id_device=>"Device types",
|
||
);
|
||
|
||
function get_values($type_id) {
|
||
$types = $this->find_all_by_type_id($type_id);
|
||
|
||
$arr_types=array();
|
||
foreach ($types as $type)
|
||
$arr_types[$type->id]=url_lang::lang('texts.'.$type->value);
|
||
return $arr_types;
|
||
}
|
||
|
||
static function get_name($name_id) {
|
||
return self::$enum_types[$name_id];
|
||
}
|
||
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
protected $member_id= false;
|
||
protected $user_id= false;
|
||
|
||
function get_member_types() {
|
||
$enum=new Enum_type_Model();
|
||
$types = $enum->find_all_by_type_id(Controller::member_types);
|
||
|
||
$arr_types=array();
|
||
foreach ($types as $type)
|
||
$arr_types[$type->id]=url_lang::lang('texts.'.$type->value);
|
||
return $arr_types;
|
||
}
|
||
|
||
function get_member_type($id) {
|
||
$enum=new Enum_type_Model();
|
||
... | ... | |
|
||
function show_all($limit_results = 500, $order_by = 'member_id', $order_by_direction = 'ASC')
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'view_all')) Controller::error(1);
|
||
// get new selector
|
||
if (is_numeric($this->input->get('record_per_page'))) $limit_results = (int) $this->input->get('record_per_page');
|
||
|
||
... | ... | |
'limit_results' => $limit_results
|
||
));
|
||
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'])) $grid->add_new_button(url_lang::base().'members/add', url_lang::lang('texts.Add new member'));
|
||
if ($this->acl_check_2D('freenetis', 'new_all')) $grid->add_new_button(url_lang::base().'members/add', url_lang::lang('texts.Add new member'));
|
||
$grid->order_field('member_id')->label('ID');
|
||
$grid->order_field('name','members.name')->label(url_lang::lang('texts.Name'));
|
||
$grid->order_field('surname')->label(url_lang::lang('texts.Surname'));
|
||
... | ... | |
$grid->order_field('street')->label(url_lang::lang('texts.Street'));
|
||
$grid->order_field('phone')->label(url_lang::lang('texts.Phone'));
|
||
$grid->action_field('member_id') ->label(url_lang::lang('texts.Show')) ->url(url_lang::base().'members/show') ->action(url_lang::lang('texts.Show'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_all', 'all', $_SESSION['username'])) $grid->action_field('member_id') ->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'members/edit') ->action(url_lang::lang('texts.Edit'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'delete_all', 'all', $_SESSION['username'])) $grid->action_field('member_id') ->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'members/delete') ->action(url_lang::lang('texts.Delete'))->script('onclick="return potvrd(\''.url_lang::lang('texts.delete_member').'\');"');
|
||
if ($this->acl_check_2D('freenetis', 'edit_all'))
|
||
$grid->action_field('member_id') ->label(url_lang::lang('texts.Edit')) ->url(url_lang::base().'members/edit') ->action(url_lang::lang('texts.Edit'));
|
||
if ($this->acl_check_2D('freenetis', 'delete_all'))
|
||
$grid->action_field('member_id') ->label(url_lang::lang('texts.Delete')) ->url(url_lang::base().'members/delete') ->action(url_lang::lang('texts.Delete'))->script('onclick="return potvrd(\''.url_lang::lang('texts.delete_member').'\');"');
|
||
$grid->datasource( $dotaz );
|
||
$this->template->content = $grid;
|
||
// echo
|
||
... | ... | |
{
|
||
if ($member_id == $_SESSION['member_id'])
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_own', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'view_own')) Controller::error(1);
|
||
}
|
||
else
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'view_all')) Controller::error(1);
|
||
}
|
||
|
||
$model_users = new User_Model();
|
||
... | ... | |
|
||
));
|
||
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'])) $grid->add_new_button(url_lang::base().'users/add/'.$member_id, url_lang::lang('texts.Add new user'));
|
||
if ($this->acl_check_2D('freenetis', 'new_own'))
|
||
$grid->add_new_button(url_lang::base().'users/add/'.$member_id, url_lang::lang('texts.Add new user'));
|
||
$grid->add_back_button(url_lang::lang('texts.Back'));
|
||
$grid->order_field('id','id')->label('ID');
|
||
$grid->order_field('name','name')->label(url_lang::lang('texts.Name'));
|
||
... | ... | |
// print_r($member_data);
|
||
if ($member_id == $_SESSION['member_id'])
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_own', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'view_own')) Controller::error(1);
|
||
}
|
||
else
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'view_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'view_all')) Controller::error(1);
|
||
}
|
||
$model_contacts = new Contact_Model();
|
||
$contacts = $model_contacts->find_all_by_user_id($member_data->id);
|
||
... | ... | |
|
||
));
|
||
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_own', 'all', $_SESSION['username'])) $grid->add_new_button(url_lang::base().'users/add/'.$member_id, url_lang::lang('texts.Add new user'));
|
||
if ($this->acl_check_2D('freenetis', 'new_own'))
|
||
$grid->add_new_button(url_lang::base().'users/add/'.$member_id, url_lang::lang('texts.Add new user'));
|
||
$grid->add_back_button(url_lang::lang('texts.Back'));
|
||
$grid->order_field('id','id')->label('ID');
|
||
$grid->order_field('name','name')->label(url_lang::lang('texts.Name'));
|
||
... | ... | |
|
||
function add()
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'new_all')) Controller::error(1);
|
||
|
||
$form = new Forge(url_lang::base().'members/add', '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
... | ... | |
->callback(array($this, 'valid_email'));
|
||
$form->group('')->label(url_lang::lang('texts.Account informations'));
|
||
//$form->dropdown('acctype')->label(url_lang::lang('texts.Account type').':')->options(array('analytic'=>url_lang::lang('texts.Double entry account'),'bank'=>url_lang::lang('texts.Bank account')));
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'],get_class($this),'add_current_credit')) $form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric');
|
||
if ($this->acl_check_3D('freenetis', 'new_all', 'add_current_credit'))
|
||
$form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric');
|
||
$form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric');
|
||
$form->input('entrance_fee_left')->label(url_lang::lang('texts.Entrance fee left').':')->rules('valid_numeric');
|
||
$form->input('debt_payment_rate')->label(url_lang::lang('texts.Debit payment rate').':')->rules('valid_numeric');
|
||
... | ... | |
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required');
|
||
$form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required');
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]');
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'],get_class($this),'add_must_pay')) $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default(1);
|
||
if ($this->acl_check_3D('freenetis', 'new_all', 'add_must_pay')) $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default(1);
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Add'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
... | ... | |
|
||
$account_data->type = 'analytic';
|
||
$account_data->name = $form_data['membername'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'],get_class($this),'add_current_credit')) $account_data->start_amount = $form_data['current_credit'];
|
||
if ($this->acl_check_3D('freenetis', 'new_all', 'add_current_credit')) $account_data->start_amount = $form_data['current_credit'];
|
||
|
||
//print_r($member_data);die();
|
||
$user_data->name = $form_data['name'];
|
||
... | ... | |
$member_data->entrance_fee = $form_data['entrance_fee'];
|
||
$member_data->entrance_fee_left = $form_data['entrance_fee_left'];
|
||
$member_data->debt_payment_rate = $form_data['debt_payment_rate'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'],get_class($this),'add_current_credit')) $member_data->current_credit = $form_data['current_credit'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'new_all', 'all', $_SESSION['username'],get_class($this),'add_must_pay')) $member_data->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
|
||
if ($this->acl_check_3D('freenetis', 'new_all', 'add_current_credit')) $member_data->current_credit = $form_data['current_credit'];
|
||
if ($this->acl_check_3D('freenetis', 'new_all', 'add_must_pay')) $member_data->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
|
||
|
||
$member_saved = $member_data->save();
|
||
|
||
... | ... | |
$user_model->find_by_member_id($member_id);
|
||
if ($member_id == $_SESSION['member_id'])
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'edit_own')) Controller::error(1);
|
||
}
|
||
else
|
||
{
|
||
if (!$this->gacl_class->acl_check('freenetis', 'edit_all', 'all', $_SESSION['username'])) Controller::error(1);
|
||
if (!$this->acl_check_2D('freenetis', 'edit_all')) Controller::error(1);
|
||
}
|
||
$this->user_id = $user_model->id;
|
||
unset($user_model);
|
||
... | ... | |
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic informations'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_username'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_username'))
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')
|
||
->rules('required|length[3,50]')
|
||
->callback(array($this, 'valid_username'))
|
||
->value($member_data->login);
|
||
|
||
$form->input('pre_title')->label(url_lang::lang('texts.pre title').':')->rules('length[3,40]')->value($member_data->pre_title);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_name')) $form->input('name')->label(url_lang::lang('texts.name').':')->rules('required|length[3,30]')->value($member_data->name);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_name')) $form->input('name')->label(url_lang::lang('texts.name').':')->rules('required|length[3,30]')->value($member_data->name);
|
||
$form->input('middle_name')->label(url_lang::lang('texts.middle name').':')->rules('length[3,30]')->value($member_data->middle_name);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_surname'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_surname'))
|
||
$form->input('surname')->label(url_lang::lang('texts.surname').':')->rules('required|length[3,60]')->value($member_data->surname);
|
||
$form->input('post_title')->label(url_lang::lang('texts.post title').':')->rules('length[3,30]')->value($member_data->post_title);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_type'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_type')) {
|
||
$enum_types=new Enum_type_Model();
|
||
$types=$enum_types->get_values(Enum_type_Model::type_id_member);
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Type').':')
|
||
->options($this->get_member_types())
|
||
->options($types)
|
||
->selected($member_data->typem);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_membersname'))$form->input('membername')->label(url_lang::lang('texts.Members name').':')->rules('required|length[3,60]')->value($member_data->namem);
|
||
}
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_membersname'))$form->input('membername')->label(url_lang::lang('texts.Members name').':')->rules('required|length[3,60]')->value($member_data->namem);
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Contact informations'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_address'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_address'))
|
||
{
|
||
$form->input('street')->label(url_lang::lang('texts.street').':')->rules('required|length[1,200]')->value($member_data->street);
|
||
$form->input('street_number')->label(url_lang::lang('texts.street number').':')->rules('required|length[1,50]')->value($member_data->street_number);
|
||
$form->input('town')->label(url_lang::lang('texts.town').':')->rules('required|length[3,200]')->value($member_data->town);
|
||
$form->input('zip_code')->label(url_lang::lang('texts.zip code').':')->rules('required|length[5,10]')->value($member_data->ZIP_code);
|
||
}
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_phone')) $form->input('phone')->label(url_lang::lang('texts.phone').':')->rules('required|length[3,40]')->callback(array($this, 'valid_phone'))->value($member_data->phone);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_email'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_phone')) $form->input('phone')->label(url_lang::lang('texts.phone').':')->rules('required|length[3,40]')->callback(array($this, 'valid_phone'))->value($member_data->phone);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_email'))
|
||
$form->input('email')->label(url_lang::lang('texts.email').':')
|
||
->rules('length[3,50]|valid_email')
|
||
->callback(array($this, 'valid_email'))->value($member_data->email);
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Account informations'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_currentcredit')) $form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric')->value($member_data->current_credit);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_en_fee')) $form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric')->value($member_data->entrance_fee);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_en_fee_left')) $form->input('entrance_fee_left')->label(url_lang::lang('texts.Entrance fee left').':')->rules('valid_numeric')->value($member_data->entrance_fee_left);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_debit')) $form->input('debt_payment_rate')->label(url_lang::lang('texts.Debit payment rate').':')->rules('valid_numeric')->value($member_data->debt_payment_rate);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_currentcredit')) $form->input('current_credit')->label(url_lang::lang('texts.Current credit').':')->rules('valid_numeric')->value($member_data->current_credit);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_en_fee')) $form->input('entrance_fee')->label(url_lang::lang('texts.Entrance fee').':')->rules('valid_numeric')->value($member_data->entrance_fee);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_en_fee_left')) $form->input('entrance_fee_left')->label(url_lang::lang('texts.Entrance fee left').':')->rules('valid_numeric')->value($member_data->entrance_fee_left);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_debit')) $form->input('debt_payment_rate')->label(url_lang::lang('texts.Debit payment rate').':')->rules('valid_numeric')->value($member_data->debt_payment_rate);
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Completive informations'));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_qos_ceil')) $form->input('qos_ceil')->label(url_lang::lang('texts.qos ceil').':')->rules('valid_numeric')->value($member_data->qos_ceil);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_qos_rate')) $form->input('qos_rate')->label(url_lang::lang('texts.qos rate').':')->rules('valid_numeric')->value($member_data->qos_rate);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_qos_ceil')) $form->input('qos_ceil')->label(url_lang::lang('texts.qos ceil').':')->rules('valid_numeric')->value($member_data->qos_ceil);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_qos_rate')) $form->input('qos_rate')->label(url_lang::lang('texts.qos rate').':')->rules('valid_numeric')->value($member_data->qos_rate);
|
||
$form->date('birthday')->label(url_lang::lang('texts.birthday').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($member_data->birthday));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_entrance_date')) $form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($member_data->entrance_date));
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_comment')) $form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($member_data->comment);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_must_pay')) $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default((int)$member_data->must_pay_regular_fee);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_entrance_date')) $form->date('entrance_date')->label(url_lang::lang('texts.Entrance date').':')->years(date('Y')-100, date('Y'))->rules('required')->value(strtotime($member_data->entrance_date));
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_comment')) $form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($member_data->comment);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_must_pay')) $form->radio('must_pay_regular_fee')->label(url_lang::lang('texts.Must pay regular fee').':')->options(array('1'=>url_lang::lang('texts.Yes'),'0'=>url_lang::lang('texts.No')))->default((int)$member_data->must_pay_regular_fee);
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Edit'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
... | ... | |
$user_data->find_by_member_id($member_id);
|
||
|
||
//print_r($member_data);die();
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_name')) $user_data->name = $form_data['name'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_name')) $user_data->name = $form_data['name'];
|
||
$user_data->middle_name = $form_data['middle_name'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_username')) $user_data->login = $form_data['login'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_surname')) $user_data->surname = $form_data['surname'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_username')) $user_data->login = $form_data['login'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_surname')) $user_data->surname = $form_data['surname'];
|
||
$user_data->pre_title = $form_data['pre_title'];
|
||
$user_data->post_title = $form_data['post_title'];
|
||
$user_data->birthday = date("Y-m-d",$form_data['birthday']);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_phone')) $user_data->phone = $form_data['phone'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_email')) $user_data->email = $form_data['email'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_type'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_phone')) $user_data->phone = $form_data['phone'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_email')) $user_data->email = $form_data['email'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_type'))
|
||
$member_data->type = $form_data['type'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_comment')) $member_data->comment = $form_data['comment'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_comment')) $member_data->comment = $form_data['comment'];
|
||
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_entrance_date')) $member_data->entrance_date = date("Y-m-d",$form_data['entrance_date']);
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_membersname')) $member_data->name = $form_data['membername'];;
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_address'))
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_entrance_date')) $member_data->entrance_date = date("Y-m-d",$form_data['entrance_date']);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_membersname')) $member_data->name = $form_data['membername'];;
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_address'))
|
||
{ $member_data->street = $form_data['street'];
|
||
$member_data->street_number = $form_data['street_number'];
|
||
$member_data->town = $form_data['town'];
|
||
$member_data->ZIP_code = $form_data['zip_code'];
|
||
}
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_qos_ceil')) $member_data->qos_ceil = $form_data['qos_ceil'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_qos_rate')) $member_data->qos_rate = $form_data['qos_rate'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_en_fee')) $member_data->entrance_fee = $form_data['entrance_fee'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_en_fee_left')) $member_data->entrance_fee_left = $form_data['entrance_fee_left'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_debit')) $member_data->debt_payment_rate = $form_data['debt_payment_rate'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_currentcredit')) $member_data->current_credit = $form_data['current_credit'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_must_pay')) $member_data->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_qos_ceil')) $member_data->qos_ceil = $form_data['qos_ceil'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_qos_rate')) $member_data->qos_rate = $form_data['qos_rate'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_en_fee')) $member_data->entrance_fee = $form_data['entrance_fee'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_en_fee_left')) $member_data->entrance_fee_left = $form_data['entrance_fee_left'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_debit')) $member_data->debt_payment_rate = $form_data['debt_payment_rate'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_currentcredit')) $member_data->current_credit = $form_data['current_credit'];
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_must_pay')) $member_data->must_pay_regular_fee = $form_data['must_pay_regular_fee'];
|
||
|
||
|
||
$member_saved = $member_data->save();
|
||
$user_data->member_id = $member_data->id;
|
||
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'edit_type')) Controller::insert_phpgacl($user_data->id,$user_data->surname.' '.$user_data->name,$user_data->login,$form_data['type'], true);
|
||
if ($this->acl_check_3D('freenetis', 'edit_own', 'edit_type')) Controller::insert_phpgacl($user_data->id,$user_data->surname.' '.$user_data->name,$user_data->login,$form_data['type'], true);
|
||
unset($form_data);
|
||
if ($member_saved && $user_data->save())
|
||
{
|
freenetis/trunk/kohana/application/libraries/MY_Controller.php | ||
---|---|---|
public $gacl_class;
|
||
private $myMenu;
|
||
public $arr;
|
||
const member_types=1,
|
||
device_types=2;
|
||
|
||
|
||
public function __construct(){
|
||
|
||
parent::__construct();
|
||
... | ... | |
$this->gacl_class = new gacl();
|
||
|
||
}
|
||
/**
|
||
* acl_check_2D checks the current user's rights to access an $aco_section/$aco_value
|
||
*/
|
||
public function acl_check_2D($aco_section, $aco_value) {
|
||
return $this->gacl_class->acl_check($aco_section, $aco_value, 'all', $_SESSION['username']);
|
||
}
|
||
|
||
/* public function do_something(){
|
||
/**
|
||
* acl_check_3D checks the current user's rights to access
|
||
* an $axo_value object in ***current controller*** (!!!) by
|
||
* operation specified by $aco_section/$aco_value
|
||
*/
|
||
|
||
public function acl_check_3D($aco_section, $aco_value, $axo_value) {
|
||
return $this->gacl_class->acl_check($aco_section, $aco_value, 'all', $_SESSION['username'],get_class($this),$axo_value);
|
||
}
|
||
|
||
/* public function do_something(){
|
||
//method available in all controllers
|
||
}*/
|
||
|
Také k dispozici: Unified diff
1. V MY_Controller.php přidány fce acl_check_2D, acl_check_3D které volají gacl_class->acl_check s předvyplněnými parametry. Výsledkem jsou čitelnější a přehlednější zdrojáky controllerů
2. V members.php nahrazeny volání všech acl_check voláním acl_check_2D a acl_check_3D
3. upraven model enum_type.php - doplněny konstanty a definice jmen výčtových typů tak, aby šel snadno naaprogramovat controller pro editaci hodnot výčtových typů.