Revize 101
Přidáno uživatelem Tomáš Dulík před asi 16 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'member successfully added.'=> 'Člen úspěšně přidán.',
|
||
'member successfully updated.'=> 'Člen úspěšně upraven.',
|
||
'members account'=> 'Účet člena',
|
||
'members name'=> 'Organizace',
|
||
'members name'=> 'Jméno člena (organizace)',
|
||
'members' => 'Členové',
|
||
'middle name' => 'Prostřední jméno',
|
||
'must be logged in' => 'Musíte se přihlásit.',
|
||
... | ... | |
'user successfully deleted.'=> 'Uživatel úspěšně smazán',
|
||
'user' => 'Uživatel',
|
||
'username or password do not match' => 'Uživatelské jméno nebo heslo nesouhlasí',
|
||
'username' => 'Uživatelské jméno',
|
||
'username' => 'Login',
|
||
'users' => 'Uživatelé',
|
||
'variable symbol'=> 'variabilní symbol',
|
||
'vlan detail' => 'Detail VLANu',
|
||
... | ... | |
'network address does not match the mask' => 'Síťová adresa neodpovídá zadané masce !',
|
||
'invalid network address'=>'Neplatná adresa sítě !',
|
||
'zip code' => 'PSČ',
|
||
|
||
'honorary member'=>'Čestný člen',
|
||
'former member'=>'Bývalý člen',
|
||
'non-statutory member'=>'Člen bez statusu',
|
||
'vacating member'=>'Přerušené členství'
|
||
);
|
freenetis/trunk/kohana/application/models/enum_type.php | ||
---|---|---|
<?php
|
||
class Enum_type_Model extends ORM{
|
||
}
|
||
?>
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
|
||
public function get_all_members($limit_from = 0, $limit_results = 50, $order_by = 'users.id', $order_by_direction = 'ASC')
|
||
{
|
||
return self::$db->select(array('members.name as namem', 'members.street', 'members.street_number', 'members.town', 'members.ZIP_code', 'members.type as typem', 'members.qos_ceil', 'members.qos_rate', 'members.entrance_fee', 'members.debt_payment_rate', 'members.entrance_fee_left', 'members.must_pay_regular_fee', 'members.current_credit', 'members.entrance_date', 'members.comment', 'users.*'))->from('members')->join('users', 'users.member_id = members.id')->where('users.type!=', 'user')->orderby($order_by, $order_by_direction)->limit($limit_results,$limit_from)->get();
|
||
return self::$db->select(
|
||
array('members.name as namem', 'members.street', 'members.street_number',
|
||
'members.town', 'members.ZIP_code', 'members.type as typem',
|
||
'members.qos_ceil', 'members.qos_rate', 'members.entrance_fee',
|
||
'members.debt_payment_rate', 'members.entrance_fee_left',
|
||
'members.must_pay_regular_fee', 'members.current_credit',
|
||
'members.entrance_date', 'members.comment', 'users.*'))
|
||
->from('members')
|
||
->join('users', 'users.member_id = members.id')
|
||
->orderby($order_by, $order_by_direction)
|
||
->groupby('members.id')
|
||
->limit($limit_results,$limit_from)->get();
|
||
}
|
||
|
||
public function count_all_members()
|
||
... | ... | |
'members.type as typem', 'members.qos_ceil', 'members.qos_rate',
|
||
'members.entrance_fee', 'members.debt_payment_rate', 'members.entrance_fee_left',
|
||
'members.must_pay_regular_fee', 'members.current_credit',
|
||
'members.entrance_date', 'members.comment',
|
||
'members.entrance_date', 'members.comment',
|
||
'enum_types.value as member_type',
|
||
'users.id', 'member_id',
|
||
'users.name', 'middle_name', 'surname',
|
||
'pre_title', 'post_title',
|
||
'login', 'email', 'users.type', 'phone', 'birthday')
|
||
)->from('members')->join('users', 'users.member_id = members.id')->where(array('members.id' => (int)$id, 'users.type!=' => 'user'))->limit(1)->get();
|
||
)->from('members')
|
||
->join('enum_types', 'members.type=enum_types.id', NULL, "LEFT")
|
||
->join('users', 'users.member_id = members.id', NULL, "LEFT")
|
||
->where("members.id=$id AND users.id IS NOT NULL")->limit(1)->get();
|
||
}
|
||
/* array('id' => 5, 'title' => 'Demo')
|
||
public function get_one_user($)
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
class Members_Controller extends Controller {
|
||
protected $member_id= false;
|
||
protected $user_id= false;
|
||
|
||
function get_member_types() {
|
||
return array(
|
||
'regular'=>url_lang::lang('texts.Regular member'),
|
||
'applicant'=>url_lang::lang('texts.applicant')
|
||
);
|
||
$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();
|
||
return $enum->find_by_type_id(Controller::member_types)->where("id=$id")->name;
|
||
}
|
||
|
||
|
||
|
||
function index()
|
||
{
|
||
url::redirect(url_lang::base().'members/show_all');
|
||
... | ... | |
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Basic informations'));
|
||
$form->input('membername')->label(url_lang::lang('texts.Members name').':')->rules('required|length[3,60]');
|
||
$form->input('login')->label(url_lang::lang('texts.username').':')
|
||
->rules('required|length[3,50]')
|
||
->callback(array($this, 'valid_username'));
|
||
... | ... | |
$form->input('surname')->label(url_lang::lang('texts.surname').':')->rules('required|length[3,60]');
|
||
$form->input('post_title')->label(url_lang::lang('texts.post title').':')->rules('length[3,30]');
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Type').':')
|
||
->options(array('member'=>url_lang::lang('texts.Honest member'),'wannabe'=>url_lang::lang('texts.Wanna be a member')));
|
||
$form->input('membername')->label(url_lang::lang('texts.Members name').':')->rules('required|length[3,60]');
|
||
->options($this->get_member_types());
|
||
$form->group('')->label(url_lang::lang('texts.Password'));
|
||
$form->password('password')->label(url_lang::lang('texts.password').':')->rules('required|length[3,50]')->class('required');
|
||
$form->password('confirm_password')->label(url_lang::lang('texts.confirm password').':')->rules('required|length[3,50]')->matches($form->password);
|
||
$form->password('passwd')->label(url_lang::lang('texts.password').':')->rules('required|length[3,50]')->class('required');
|
||
$form->password('confirm_password')->label(url_lang::lang('texts.confirm password').':')->rules('required|length[3,50]')->matches($form->passwd);
|
||
$form->group('')->label(url_lang::lang('texts.Contact informations'));
|
||
$form->input('street')->label(url_lang::lang('texts.street').':')->rules('required|length[1,200]');
|
||
$form->input('street_number')->label(url_lang::lang('texts.street number').':')->rules('required|length[1,50]');
|
||
... | ... | |
$user_data->birthday = date("Y-m-d",$form_data['birthday']);
|
||
$user_data->phone = $form_data['phone'];
|
||
$user_data->email = $form_data['email'];
|
||
$user_data->type = $form_data['type'];
|
||
$user_data->password = sha1($form_data['password']);
|
||
$user_data->password = sha1($form_data['passwd']);
|
||
|
||
$member_data->type = $form_data['type'];
|
||
$member_data->comment = $form_data['comment'];
|
||
$member_data->entrance_date = date("Y-m-d",$form_data['entrance_date']);
|
||
$member_data->name = $form_data['membername'];;
|
||
... | ... | |
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'];
|
||
|
||
|
||
$member_saved = $member_data->save();
|
||
|
||
$user_data->member_id = $member_data->id;
|
||
... | ... | |
if ($member_saved && $user_saved && $account_data->save())
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Member successfully added.'));
|
||
url::redirect(url_lang::base().'members/show/'.(int)$member_data->id);
|
||
|
||
}
|
||
else
|
||
{
|
||
$this->session->set_flash('message', url_lang::lang('texts.Error - cant add new member.'));
|
||
}
|
||
url::redirect(url_lang::base().'members/show/'.(int)$member_data->id);
|
||
}
|
||
else
|
||
{
|
||
... | ... | |
|
||
$model_members = new Member_Model();
|
||
$member_data = $model_members->get_member($member_id)->current();
|
||
|
||
$form = new Forge(url_lang::base().'members/edit/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
|
||
... | ... | |
$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'))
|
||
$form->dropdown('type')->label(url_lang::lang('texts.Type').':')
|
||
->options(MEMBER_TYPES)
|
||
->selected($member_data->type);
|
||
->options($this->get_member_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);
|
||
|
||
$form->group('')->label(url_lang::lang('texts.Contact informations'));
|
||
... | ... | |
$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')) $user_data->type = $form_data['type'];
|
||
if ($this->gacl_class->acl_check('freenetis', 'edit_own', 'all', $_SESSION['username'],get_class($this),'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->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']);
|
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();
|
||
... | ... | |
$view->render(TRUE);
|
||
exit;
|
||
}
|
||
|
||
|
||
public function insert_phpgacl($user_id,$username,$value,$group, $is_edit = false)
|
||
{
|
||
// $aro_data = new Aro_Model();
|
freenetis/trunk/kohana/application/views/members_show.php | ||
---|---|---|
</tr>
|
||
<tr>
|
||
<th>ID</th>
|
||
<td><?php echo $member_data->id ?></td>
|
||
<td><?php echo $member_data->member_id ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Username') ?></th>
|
||
... | ... | |
</tr>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Type') ?></th>
|
||
<td><?php echo $member_data->type ?></td>
|
||
<td><?php echo url_lang::lang("texts.$member_data->member_type") ?></td>
|
||
</tr>
|
||
<tr>
|
||
<th colspan="2"><?php echo url_lang::lang('texts.Contact informations') ?></th>
|
Také k dispozici: Unified diff
Opravena spousta chyb v logice Members_Controller.
Přidána nová tabulka enum_types, která obsahuje typy pro zobrazování v dropdown boxech.
Zatím je použita pouze v Members_Controller