Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 229

Přidáno uživatelem Roman Ševčík před více než 15 roky(ů)

Zapomnel jsem pridat kontroler access_rights.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/controllers/access_rights.php
<?php
class Access_Rights_Controller extends Controller {
function index()
{
url::redirect(url_lang::base().'access_rights/show_groups');
}
function show_groups()
{
$rows;
$model_aro_groups = new Aro_Groups_Model();
$groups = $model_aro_groups->get_traverz_tree();
$model_groups_aro_map = new Groups_Aro_Map_Model();
for($i = 0; $i < $groups->count(); $i++)
{
$group = $groups->current();
$ret = ''; //style="text-align: center; font-weight:bold" style="width: 300px; text-align: center; font-weight:bold"
$rows[0] = '<tr><th colspan="3" style="width:300px">'.url_lang::lang('texts.Edit groups').'</th></tr>';
for($j = 0; $j < count_parent($group->id) - 1; $j++ )
//$ret .= '&nbsp;&nbsp;&nbsp;&nbsp;|';
$ret .= '&nbsp;&nbsp;&nbsp;&nbsp;';
//$ret = $ret . '--- ';
$count = $model_groups_aro_map->count_rows_by_group_id($group->id);
$rows[$i + 1] = '<tr><td style="width:300px">'.$ret.$group->name.'</td><td style="width:30px; text-align: center" >'.$count.'</td><td>'.html::anchor(url_lang::base().'access_rights/edit_group/'.$group->id,url_lang::lang('texts.Edit')).'</td></tr>';
$groups->next();
}
$view = new View('template');
$view->header = new View('base/header');
$view->content = new View('access_rights/show_groups');
$view->content->rows = $rows;
$view->footer = new View('base/footer');
$view->header->title = url_lang::lang('texts.Access Rights');
$view->content->headline = url_lang::lang('texts.Access Rights');
$view->header->menu = Controller::render_menu();
$view->render(TRUE);
}
function edit_group($group_id = NULL)
{
if (!isset($group_id))
Controller::warning(1);
$model_aro = new Aro_Model();
if ($this->input->post('add') != NULL && $this->input->post('system_users') != NULL)
{
$aro_id = implode("" ,$this->input->post('system_users'));
$model_groups_aro_map = new Groups_Aro_Map_Model();
$model_groups_aro_map->insert_data(array( 'group_id' => $group_id, 'aro_id' => $aro_id ));
}
if ($this->input->post('remove') != NULL && $this->input->post('group_users') != NULL)
{
$aro_id = implode("" ,$this->input->post('group_users'));
$model_groups_aro_map = new Groups_Aro_Map_Model();
$model_groups_aro_map->detete_row($group_id, $aro_id);
}
$users1 = $model_aro->get_all_not_in_by_aro_broup_id($group_id);
$users2 = $model_aro->get_all_by_aro_broup_id($group_id);
if (($users1->count()==0) && ($users2->count()==0))
Controller::error(4);
if ($users1->count()==0)
{
$system_users_select = form::dropdown(array('name' => 'system_users[]','size' => 20, 'style'=>'width:250px'));
}
else
{
foreach($users1 as $user1)
{
$system_users[$user1->id] = $user1->name;
}
$system_users_select = form::dropdown(array('name' => 'system_users[]','size' => 20, 'style'=>'width:250px'), $system_users);
}
if ($users2->count()==0)
{
$group_users_select = form::dropdown(array('name' => 'group_users[]','size' => 20, 'onfocus' => 'getElementById(\'assignform\').remove.disabled=false;', 'style'=>'width:250px'));
}
else
{
foreach($users2 as $user2)
{
$group_users[$user2->id] = $user2->name;
}
$group_users_select = form::dropdown(array('name' => 'group_users[]','size' => 20, 'onfocus' => 'getElementById(\'assignform\').remove.disabled=false;', 'style'=>'width:250px'), $group_users);
}
$add_button = form::submit('add', url_lang::lang('texts.Add').' >');
$remove_button = form::submit('remove', '< '.url_lang::lang('texts.Remove'));
$model_aro_groups = new Aro_Groups_Model();
$name = $model_aro_groups->get_by_id($group_id);
$view = new View('template');
$view->header = new View('base/header');
$view->content = new View('access_rights/edit_group');
$view->content->headline = url_lang::lang('texts.Edit group').': '.$name->current()->name;
$view->content->system_users_select = $system_users_select;
$view->content->group_users_select = $group_users_select;
$view->content->add_button = $add_button;
$view->content->remove_button = $remove_button;
$view->footer = new View('base/footer');
$view->header->title = url_lang::lang('texts.Edit group').': '.$name->current()->name;
$view->header->onload = 'getElementById(\'assignform\').add.disabled=true;getElementById(\'assignform\').remove.disabled=true;';
$view->header->menu = Controller::render_menu();
$view->render(TRUE);
}
}
function count_parent($id)
{
$model_aro_groups = new Aro_Groups_Model();
$parent = $model_aro_groups->get_parent_id_by_id($id);
if ($parent->count() == 0)
return 0;
else
return (1 + count_parent($parent->current()->parent_id));
}
?>

Také k dispozici: Unified diff