Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 480

Přidáno uživatelem Jiří Sviták před asi 15 roky(ů)

Upravy v preruseni clenstvi. Pridana moznost presmerovani v dobe preruseneho clenstvi.

Zobrazit rozdíly:

freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php
'logged user' => 'Přihlášený uživatel',
'login data' => 'Přihlašovací údaje',
'login logs' => 'Logy přihlášení',
'login name' => 'Přihlašovací jméno',
'login_name' => 'Přihlašovací jméno',
'login name' => 'Přihl. jméno',
'login_name' => 'Přihl. jméno',
'login to' => 'Přihlášení',
'login' => 'Přihlásit',
'logout' => 'Odhlásit',
......
'members account' => 'Účet člena',
'members' => 'Členové',
'membership can be ended only to former member' => 'Členství může být ukončeno jen bývalému členovi.',
'membership interrupt' => 'Přerušení členství',
'membership interrupt text' => 'Text pro přerušení členství',
'membership interrupts' => 'Přerušení členství',
'membership interruption has been succesfully added' => 'Přerušení členství bylo úspěšně přidáno',
'membership interruption has been succesfully deleted' => 'Přerušení členství bylo úspěšně smazáno',
freenetis/trunk/kohana/application/controllers/acl.php
<?php
class Acl_Controller extends Controller {
function index()
{
require_once('application/vendors/phpgacl/gacl_api.class.php');
$test = new gacl_api();
echo $test->get_version();
//print_r (Kohana::find_file('vendors/phpgacl','gacl_api.class'));
}
}
?>
freenetis/trunk/kohana/application/controllers/membership_interrupts.php
function add($member_id = NULL)
{
if(!$member_id) Controller::warning(1);
else
{
// saving id for callback function
$this->membership_interrupt_id = NULL;
if (!isset($member_id))
Controller::warning(PARAMETER);
$member = new Member_Model($member_id);
if ($member->id == 0)
Controller::error(RECORD);
// access control
if (!$this->acl_check_new('Members_Controller', 'membership_interrupts', $member->id))
Controller::Error(ACCESS);
// saving id for callback function
$this->membership_interrupt_id = NULL;
// access control
if (!$this->acl_check_new('Members_Controller', 'membership_interrupts', $member_id)) Controller::Error(1);
$member_model = new Member_Model();
$members = $member_model->find_all_by_id($member_id);
$arr_members[$member->id] = $member->name;
foreach ($members as $member)
{
$arr_members[$member->id] = $member->name;
}
$this->form = new Forge(url_lang::base()."membership_interrupts/add/".$member_id, '', 'POST', array('id' => 'article_form'));
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
$this->form->group('')->label(url_lang::lang('texts.Basic data'));
$this->form->dropdown('member_id')->label(url_lang::lang('texts.Member').':')->options($arr_members)->rules('required');
$this->form->date('from')->label(url_lang::lang('texts.Date from').':')->years(date('Y')-10, date('Y')+10)->rules('required');
$this->form->date('to')->label(url_lang::lang('texts.Date to').':')->years(date('Y')-10, date('Y')+10)->rules('required')->callback(array($this, 'valid_interrupt_interval'));
$this->form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]|required');
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($this->form, ' *', 'required');
// form validation
if ($this->form->validate())
{
$form_data = $this->form->as_array();
$membership_interrupt = new Membership_interrupt_Model();
$membership_interrupt->member_id = $form_data['member_id'];
// converting date to classic date form and rounding of them
$membership_interrupt->from = date::round_month(date("d",$form_data['from']),date("m",$form_data['from']),date("Y",$form_data['from']));
$membership_interrupt->to = date::round_month(date("d",$form_data['to']),date("m",$form_data['to']),date("Y",$form_data['to']));
$membership_interrupt->comment = $form_data['comment'];
if ($membership_interrupt->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully added').'.');
url::redirect(url_lang::base().'members/show/'.$form_data['member_id']);
}
}
// end of form validation
$view = new View('main');
$view->title = url_lang::lang('texts.Add new interrupt of membership');
$view->content = new View('form');
$view->content->form = $this->form->html();
$view->content->headline = url_lang::lang('texts.Add new interrupt of membership');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
$view->render(TRUE);
}
$this->form = new Forge(url_lang::base()."membership_interrupts/add/".$member->id, '', 'POST', array('id' => 'article_form'));
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
$this->form->group('')->label(url_lang::lang('texts.Basic data'));
$this->form->dropdown('member_id')->label(url_lang::lang('texts.Member').':')->options($arr_members)->rules('required');
$this->form->date('from')->label(url_lang::lang('texts.Date from').':')->years(date('Y')-10, date('Y')+10)->rules('required');
$this->form->date('to')->label(url_lang::lang('texts.Date to').':')->years(date('Y')-10, date('Y')+10)->rules('required')->callback(array($this, 'valid_interrupt_interval'));
$this->form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]|required');
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($this->form, ' *', 'required');
// form validation
if ($this->form->validate())
{
$form_data = $this->form->as_array();
$membership_interrupt = new Membership_interrupt_Model();
$membership_interrupt->member_id = $form_data['member_id'];
// converting date to classic date form and rounding of them
$membership_interrupt->from = date('Y-m-d', $form_data['from']);
$membership_interrupt->to = date('Y-m-d', $form_data['to']);
$membership_interrupt->comment = $form_data['comment'];
if ($membership_interrupt->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully added').'.');
url::redirect(url_lang::base().'members/show/'.$form_data['member_id']);
}
}
// end of form validation
$view = new View('main');
$view->title = url_lang::lang('texts.Add new interrupt of membership');
$view->content = new View('form');
$view->content->form = $this->form->html();
$view->content->headline = url_lang::lang('texts.Add new interrupt of membership');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
$view->render(TRUE);
}
/**
* Editing of membership interruption
* @param $membership_interrupt_id id of membership interrupt to delete
*/
/**
* Editing of membership interruption
* @param $membership_interrupt_id id of membership interrupt to delete
*/
function edit($membership_interrupt_id = NULL)
function edit($membership_interrupt_id = NULL)
{
if(!$membership_interrupt_id) Controller::warning(1);
else
{
// find object with id to edit
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
// if object with this id doesn't exist
if (!$membership_interrupt->id) url::redirect(url_lang::base().'members/show_all');
// saving id for callback function
$this->membership_interrupt_id = $membership_interrupt->id;
// access control
if (!$this->acl_check_edit('Members_Controller', 'membership_interrupts', $membership_interrupt->member_id)) Controller::Error(1);
$member_model = new Member_Model();
$members = $member_model->find_all_by_id($membership_interrupt->member_id);
foreach ($members as $member)
{
$arr_members[$member->id] = $member->name;
}
$this->form = new Forge(url_lang::base()."membership_interrupts/edit/".$membership_interrupt_id, '', 'POST', array('id' => 'article_form'));
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
$this->form->group('')->label(url_lang::lang('texts.Basic data'));
$this->form->dropdown('member_id')->label(url_lang::lang('texts.Member').':')->options($arr_members)->rules('required')->selected($membership_interrupt->member_id);
$this->form->date('from')->label(url_lang::lang('texts.Date from').':')->years(date('Y')-10, date('Y')+10)->rules('required')->value(strtotime($membership_interrupt->from));
$this->form->date('to')->label(url_lang::lang('texts.Date to').':')->years(date('Y')-10, date('Y')+10)->rules('required')->callback(array($this, 'valid_interrupt_interval'))->value(strtotime($membership_interrupt->to));
$this->form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]|required')->value($membership_interrupt->comment);
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($this->form, ' *', 'required');
// end of form validation
if ($this->form->validate())
{
$form_data = $this->form->as_array();
// find object with id to edit
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
$membership_interrupt->member_id = $form_data['member_id'];
// converting date to classic date form and rounding of them
$membership_interrupt->from = date::round_month(date("d",$form_data['from']),date("m",$form_data['from']),date("Y",$form_data['from']));
$membership_interrupt->to = date::round_month(date("d",$form_data['to']),date("m",$form_data['to']),date("Y",$form_data['to']));
$membership_interrupt->comment = $form_data['comment'];
// success
if ($membership_interrupt->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully updated').'.');
url::redirect(url_lang::base().'members/show/'.$form_data['member_id']);
}
}
// end of validation
$view = new View('main');
$view->title = url_lang::lang('texts.Edit interrupt of membership');
$view->content = new View('form');
$view->content->form = $this->form->html();
$view->content->headline = url_lang::lang('texts.Edit interrupt of membership');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$membership_interrupt->member_id, url_lang::lang('texts.Back to the member'));
$view->render(TRUE);
}
if (!isset($membership_interrupt_id))
Controller::warning(PARAMETER);
// find object with id to edit
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
// if object with this id doesn't exist
if ($membership_interrupt->id == 0)
Controller::error(RECORD);
// saving id for callback function
$this->membership_interrupt_id = $membership_interrupt->id;
// access control
if (!$this->acl_check_edit('Members_Controller', 'membership_interrupts', $membership_interrupt->member_id))
Controller::Error(ACCESS);
$arr_members[$membership_interrupt->member->id] = $membership_interrupt->member->name;
// form
$this->form = new Forge(url_lang::base()."membership_interrupts/edit/".$membership_interrupt_id, '', 'POST', array('id' => 'article_form'));
$this->form->set_attr('class', 'form_class')->set_attr('method', 'post');
$this->form->group('')->label(url_lang::lang('texts.Basic data'));
$this->form->dropdown('member_id')->label(url_lang::lang('texts.Member').':')->options($arr_members)->rules('required')->selected($membership_interrupt->member_id);
$this->form->date('from')->label(url_lang::lang('texts.Date from').':')->years(date('Y')-10, date('Y')+10)->rules('required')->value(strtotime($membership_interrupt->from));
$this->form->date('to')->label(url_lang::lang('texts.Date to').':')->years(date('Y')-10, date('Y')+10)->rules('required')->callback(array($this, 'valid_interrupt_interval'))->value(strtotime($membership_interrupt->to));
$this->form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]|required')->value($membership_interrupt->comment);
$this->form->submit('submit')->value(url_lang::lang('texts.Save'));
special::required_forge_style($this->form, ' *', 'required');
// end of form validation
if ($this->form->validate())
{
$form_data = $this->form->as_array();
// find object with id to edit
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
$membership_interrupt->member_id = $form_data['member_id'];
// converting date to classic date form and rounding of them
$membership_interrupt->from = date::round_month(date("d",$form_data['from']),date("m",$form_data['from']),date("Y",$form_data['from']));
$membership_interrupt->to = date::round_month(date("d",$form_data['to']),date("m",$form_data['to']),date("Y",$form_data['to']));
$membership_interrupt->comment = $form_data['comment'];
// success
if ($membership_interrupt->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully updated').'.');
url::redirect(url_lang::base().'members/show/'.$form_data['member_id']);
}
}
// end of validation
$view = new View('main');
$view->title = url_lang::lang('texts.Edit interrupt of membership');
$view->content = new View('form');
$view->content->form = $this->form->html();
$view->content->headline = url_lang::lang('texts.Edit interrupt of membership');
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$membership_interrupt->member_id, url_lang::lang('texts.Back to the member'));
$view->render(TRUE);
}
/**
* Deleting of membership interruption
* @param $membership_interrupt_id id of membership interruption to delete
*/
/**
* Deleting of membership interruption
* @param $membership_interrupt_id id of membership interruption to delete
*/
function delete($membership_interrupt_id = NULL)
function delete($membership_interrupt_id = NULL)
{
if(!$membership_interrupt_id) Controller::warning(1);
else
{
// find object with id to delete
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
if (!isset($membership_interrupt_id))
Controller::warning(PARAMETER);
// find object with id to delete
$membership_interrupt = new Membership_interrupt_Model($membership_interrupt_id);
if ($membership_interrupt->id == 0)
Controller::error(RECORD);
$member_id = $membership_interrupt->member_id;
// access control
if (!$this->acl_check_delete('Members_Controller', 'membership_interrupts', $member_id))
Controller::Error(ACCESS);
// success
if ($membership_interrupt->delete())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully deleted').'.');
url::redirect(url_lang::base().'members/show/'.$member_id);
}
}
function valid_interrupt_interval($input)
{
$method = $this->form->from->method;
$member_id = $this->input->$method('member_id');
$from = $this->input->$method('from');
$to = $this->input->$method('to');
$from_date = date::round_month($from['day'],$from['month'],$from['year']);
$to_date = date::round_month($to['day'],$to['month'],$to['year']);
$diff = date::diff_month($to_date,$from_date);
if ($diff < 0)
{
$input->add_error('required', url_lang::lang('texts.date from must be smaller then date to').'.');
}
if (!$membership_interrupt->id) url::redirect(url_lang::base().'members/show_all');
if ($diff < 1)
{
$input->add_error('required', url_lang::lang('texts.minimal duration of interrupt is one month').'.');
}
$member_id = $membership_interrupt->member_id;
// access control
if (!$this->acl_check_delete('Members_Controller', 'membership_interrupts', $member_id)) Controller::Error(1);
// success
if ($membership_interrupt->delete())
{
$this->session->set_flash('message', url_lang::lang('texts.Membership interruption has been succesfully deleted').'.');
url::redirect(url_lang::base().'members/show/'.$member_id);
}
}
}
function valid_interrupt_interval($input)
{
$method = $this->form->from->method;
$member_id = $this->input->$method('member_id');
$from = $this->input->$method('from');
$to = $this->input->$method('to');
$from_date = date::round_month($from['day'],$from['month'],$from['year']);
$to_date = date::round_month($to['day'],$to['month'],$to['year']);
$diff = date::diff_month($to_date,$from_date);
if ($diff < 0)
{
$input->add_error('required', url_lang::lang('texts.date from must be smaller then date to').'.');
}
if ($diff < 1)
{
$input->add_error('required', url_lang::lang('texts.minimal duration of interrupt is one month').'.');
}
$membership_interrupt_model = new Membership_interrupt_Model();
if ($membership_interrupt_model->check_overlaps($from_date,$to_date,$member_id,$this->membership_interrupt_id))
{
$input->add_error('required', url_lang::lang('texts.interval of interruption collides with another interruption of this member').'.');
}
}
$membership_interrupt_model = new Membership_interrupt_Model();
if ($membership_interrupt_model->check_overlaps($from_date,$to_date,$member_id,$this->membership_interrupt_id))
{
$input->add_error('required', url_lang::lang('texts.interval of interruption collides with another interruption of this member').'.');
}
}
}
?>
freenetis/trunk/kohana/application/controllers/members.php
$user_grid->action_field('id') ->label(url_lang::lang('texts.User'))->url(url_lang::base().'users/delete')->action(url_lang::lang('texts.Delete'))->script('onclick="return potvrd(\''.url_lang::lang('texts.Do you want to delete this user').'\');"');
if ($this->acl_check_view('Devices_Controller', 'devices', $member_id))
$user_grid->action_field('id') ->label(url_lang::lang('texts.Devices'))->url(url_lang::base().'devices/show_by_user')->action(url_lang::lang('texts.Show'));
if ($this->acl_check_edit('Users_Controller', 'work', $member_id))
if ($this->acl_check_edit('Users_Controller', 'work', $member_id))
$user_grid->action_field('id') ->label(url_lang::lang('texts.Works'))->url(url_lang::base().'works/show_by_user')->action(url_lang::lang('texts.Show'));
$user_grid->datasource($users);
// membership interrupts
......
$mi_grid->field('comment')->label(url_lang::lang('texts.Comment'));
if ($this->acl_check_edit(get_class($this), 'membership_interrupts', $member_id))
$mi_grid->action_field('id') ->label(url_lang::lang('texts.Membership interrupts'))->url(url_lang::base().'membership_interrupts/edit')->action(url_lang::lang('texts.Edit'));
if ($this->acl_check_delete(get_class($this), 'membership_interrupts', $member_id))
if ($this->acl_check_delete(get_class($this), 'membership_interrupts'))
$mi_grid->action_field('id') ->label(url_lang::lang('texts.Membership interrupts'))->url(url_lang::base().'membership_interrupts/delete')->action(url_lang::lang('texts.Delete'));
$mi_grid->datasource($mis);
freenetis/trunk/kohana/application/controllers/settings.php
$this->form->input('website_after_redirection')->label(url_lang::lang('texts.Website after redirection').':')->value($this->setting->website_after_redirection);
$this->form->textarea('contact')->label(url_lang::lang('texts.Contact list on redirect page').':')->rows(5)->cols(100)->value(addslashes($this->setting->contact));
$this->form->textarea('unknown_device')->label(url_lang::lang('texts.Unknown device text').':')->value(addslashes($this->setting->unknown_device));
$this->form->textarea('interrupt')->label(url_lang::lang('texts.Membership interrupt text').':')->value(addslashes($this->setting->interrupt));
$this->form->textarea('debtor')->label(url_lang::lang('texts.Debtor text').':')->value(addslashes($this->setting->debtor));
$this->form->textarea('payment_notice')->label(url_lang::lang('texts.Payment notice text').':')->value(addslashes($this->setting->payment_notice));
$this->form->textarea('optional_message')->label(url_lang::lang('texts.Optional message text').':')->value(addslashes($this->setting->optional_message));
freenetis/trunk/kohana/application/controllers/redirect.php
class Redirect_Controller extends Controller
{
/* Bits for redirection, from the least significant.
* 0 - debtor
* 1 - payment notice
* 2 - optional message (like general meeting invitation)
* 0 - member with interrupted membership
* 1 - debtor
* 2 - payment notice
* 3 - optional message (like general meeting invitation)
*/
/**
* This is the address where are members of network redirected to.
* @return unknown_type
......
$content = $this->setting->unknown_device;
}
// optional message redirection
elseif ($ip_address->iface->device->user->member->redirect & 4)
elseif ($ip_address->iface->device->user->member->redirect & 8)
{
$content = $this->setting->optional_message;
$continue = 4;
$continue = 8;
}
// payment notice redirection
elseif ($ip_address->iface->device->user->member->redirect & 2)
elseif ($ip_address->iface->device->user->member->redirect & 4)
{
$content = $this->setting->payment_notice;
$continue = 2;
$continue = 4;
}
// debtor redirection
elseif ($ip_address->iface->device->user->member->redirect & 1)
elseif ($ip_address->iface->device->user->member->redirect & 2)
{
$content = $this->setting->debtor;
}
// membership interrupt redirection
elseif ($ip_address->iface->device->user->member->redirect & 1)
{
$content = $this->setting->interrupt;
}
// no reason to redirect, this shouldn't happen
else
{
......
*/
function cancel($redir = 0)
{
if ($redir == 4 || $redir == 2)
// member can cancel optional message and payment notice
if ($redir == 8 || $redir == 4)
{
$ip_address = ORM::factory('ip_address')->find_by_ip_address(server::remote_addr());
$member = new Member_Model($ip_address->iface->device->user->member_id);
$member->redirect &= ~(int) $redir;
$member->redirect &= 7;
$member->redirect &= 15;
$member->save();
url::redirect($this->setting->website_after_redirection);
}
else
{
echo 'nice try';
}
}
/**
......
// form
$form = new Forge(url_lang::base().'redirect/member/'.$member_id, '', 'POST', array('id' => 'article_form'));
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
$form->group('')->label(url_lang::lang('texts.Redirection'));
$form->dropdown('debtor')->label(url_lang::lang('texts.Debtor'))->options($array)->selected(($member->redirect & 1) ? 1 : 0);
$form->dropdown('payment_notice')->label(url_lang::lang('texts.Payment notice'))->options($array)->selected(($member->redirect & 2) ? 1 : 0);
$form->dropdown('optional_message')->label(url_lang::lang('texts.Optional message'))->options($array)->selected(($member->redirect & 4) ? 1 : 0);
$form->group('')->label(url_lang::lang('texts.Redirection'));
$form->dropdown('interrupt')->label(url_lang::lang('texts.Membership interrupt').':')->options($array)->selected(($member->redirect & 1) ? 1 : 0);
$form->dropdown('debtor')->label(url_lang::lang('texts.Debtor').':')->options($array)->selected(($member->redirect & 2) ? 1 : 0);
$form->dropdown('payment_notice')->label(url_lang::lang('texts.Payment notice').':')->options($array)->selected(($member->redirect & 4) ? 1 : 0);
$form->dropdown('optional_message')->label(url_lang::lang('texts.Optional message').':')->options($array)->selected(($member->redirect & 8) ? 1 : 0);
$form->submit('submit')->value(url_lang::lang('texts.Redirect'));
special::required_forge_style($form, ' *', 'required');
// validation
if ($form->validate())
{
$form_data = $form->as_array();
$member->redirect;
// membership interrupt
if ($form_data['interrupt'] == 1)
$member->redirect |= 1;
else
$member->redirect &= ~1;
// debtor
if ($form_data['debtor'] == 1)
$member->redirect |= 1;
$member->redirect |= 2;
else
$member->redirect &= ~1;
$member->redirect &= ~2;
// payment notice
if ($form_data['payment_notice'] == 1)
$member->redirect |= 2;
$member->redirect |= 4;
else
$member->redirect &= ~2;
$member->redirect &= ~4;
// optional message
if ($form_data['optional_message'] == 1)
$member->redirect |= 4;
$member->redirect |= 8;
else
$member->redirect &= ~4;
$member->redirect &= 7;
$member->redirect &= ~8;
$member->redirect &= 15;
if ($member->save())
{
$this->session->set_flash('message', url_lang::lang('texts.Redirection has been successfully set.'));
freenetis/trunk/kohana/application/views/login.php
<?php echo form::open(url_lang::base().'login') ?>
<fieldset>
<?php echo form::label('username', url_lang::lang('texts.username').':') ?>
<?php echo form::label('username', url_lang::lang('texts.Login name').':') ?>
<?php echo form::input('username','',' maxlength="50"') ?><br />
<?php echo form::label('password', url_lang::lang('texts.password').':') ?>
<?php echo form::label('password', url_lang::lang('texts.Password').':') ?>
<?php echo form::password('password','',' maxlength="50"') ?><br />
<?php echo form::submit('submit', url_lang::lang('texts.login'), ' class="submit"') ?>
freenetis/trunk/kohana/application/views/redirect.php
<?php } ?>
<?php if (!empty($login)) { ?>
<tr>
<td class="orange"><?php echo 'Login:' ?></td>
<td class="orange"><?php echo url_lang::lang('texts.Login name').':' ?></td>
<td class="bold">&nbsp;<?php echo $login ?></td>
</tr>
<?php } ?>

Také k dispozici: Unified diff