Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 102

Přidáno uživatelem Tomáš Dulík před asi 16 roky(ů)

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ů.

Zobrazit rozdíly:

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