Revize 550
Přidáno uživatelem Roman Ševčík před téměř 15 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
$lang = array
|
||
(
|
||
'access rights' => 'Přístupová práva',
|
||
'access to system' => 'Přístup do systému',
|
||
'account' => 'Účet',
|
||
'account has been deleted' => 'Účet byl smazán',
|
||
'account has been successfully added' => 'Účet byl úspěšně přidán.',
|
||
... | ... | |
'list of works of user' => 'Seznam prací uživatele',
|
||
'location address' => 'Adresa umístění',
|
||
'location details' => 'Detaily umístění',
|
||
'locked' => 'Uzamčen',
|
||
'log in to freenetis system' => 'Přihlásit do systému Freenetis',
|
||
'logged user' => 'Přihlášený uživatel',
|
||
'login data' => 'Přihlašovací údaje',
|
||
... | ... | |
'penalty have to be a number' => 'Pokuta musí být číslo',
|
||
'phone' => 'Telefon',
|
||
'phone already exists in database' => 'Telefon je již v databázi',
|
||
'please contact administrator' => 'Prosím kontaktujte administrátora.',
|
||
'please fill in the form with information about your association' => 'Prosím, vyplňte formulář údaji u vašem sdružení.',
|
||
'polarization' => 'Polarizace',
|
||
'port detail' => 'Detail portu',
|
||
... | ... | |
'unknown ip address' => 'Neznámá IP adresa',
|
||
'unknown device text' => 'Text pro neznámé zařízení',
|
||
'unlogged user' => 'Nepřihlášený uživatel',
|
||
'unlocked' => 'Odemčen',
|
||
'update' => 'Upravit',
|
||
'upload bank transfers listing' => 'Nahrát bankovní výpis',
|
||
'user' => 'Uživatel',
|
||
... | ... | |
'you are in debt' => 'Jste v dluhu',
|
||
'you have been successfully logged out' => 'Byl jste úspěšně odhlášen.',
|
||
'your ip address has not been found in database' => 'Vaše IP adresa nebyla nalezena v databázi.',
|
||
'your accout has been locked' => 'Váš účet byl uzamčen.',
|
||
'zip code' => 'PSČ',
|
||
'zip_code' => 'PSČ'
|
||
);
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
'members.variable_symbol',
|
||
'members.type as typem', 'members.organization_identifier', 'members.qos_ceil', 'members.qos_rate',
|
||
'members.entrance_fee', 'members.debt_payment_rate',
|
||
'members.entrance_date', 'members.comment',
|
||
'members.entrance_date', 'members.comment', 'members.locked',
|
||
'enum_types.value as member_type',
|
||
'users.id', 'member_id',
|
||
'users.name', 'middle_name', 'surname',
|
||
... | ... | |
|
||
/**
|
||
* Function sets redirection to members, who have to pay their member fee soon
|
||
* or their's credit account will be negative. Used in scheduler/run/payment_notice.
|
||
* or their's credit account will be negative. Used in scheduler/run.
|
||
* @author Jiri Svitak
|
||
* @return unknown_type
|
||
*/
|
||
... | ... | |
{
|
||
self::$db->query("UPDATE members SET redirect = redirect & ~$number");
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* Function updates lock status.
|
||
* @author Roman Sevcik
|
||
*/
|
||
public function update_lock_status()
|
||
{
|
||
self::$db->query("UPDATE members SET locked = 0");
|
||
self::$db->query("UPDATE members SET locked = 1 where type = 15");
|
||
self::$db->query("
|
||
UPDATE members m,
|
||
(
|
||
SELECT m.id as mid
|
||
FROM members m
|
||
JOIN membership_interrupts mi ON mi.member_id = m.id
|
||
WHERE mi.from <= CURDATE() AND CURDATE() <= mi.to
|
||
) mi
|
||
SET m.locked = 1
|
||
WHERE m.id = mi.mid");
|
||
}
|
||
}
|
||
|
||
?>
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
$form->input('qos_rate')->label(url_lang::lang('texts.qos rate').':')->rules('valid_numeric')->value($member_data->qos_rate);
|
||
if ($this->acl_check_edit(get_class($this),'entrance_date',$member_id))
|
||
$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_edit(get_class($this),'comment',$member_id))
|
||
if ($member_data->member_id != 1)
|
||
if ($this->acl_check_edit(get_class($this),'locked',$member_id))
|
||
$form->dropdown('locked')->label(url_lang::lang('texts.Access to system'))->options(array('0'=> url_lang::lang('texts.Unlocked'), '1'=> url_lang::lang('texts.Locked')))->selected($member_data->locked);
|
||
if ($this->acl_check_edit(get_class($this),'comment',$member_id))
|
||
$form->textarea('comment')->label(url_lang::lang('texts.Comment').':')->rules('length[0,250]')->value($member_data->comment);
|
||
|
||
$form->submit('submit')->value(url_lang::lang('texts.Edit'));
|
||
... | ... | |
$member_data->organization_identifier = $form_data['organization_identifier'];
|
||
if ($this->acl_check_edit('Members_Controller', 'var_sym', $member_id) && $member_id != 1)
|
||
$member_data->variable_symbol = $form_data['variable_symbol'];
|
||
if ($this->acl_check_edit(get_class($this),'comment',$member_id))
|
||
if ($this->acl_check_edit(get_class($this),'locked',$member_id))
|
||
$member_data->locked = $form_data['locked'];
|
||
if ($this->acl_check_edit(get_class($this),'comment',$member_id))
|
||
$member_data->comment = $form_data['comment'];
|
||
|
||
// member data
|
||
... | ... | |
$view->render(TRUE);
|
||
|
||
}
|
||
} // end of registration function
|
||
|
||
/**
|
||
} // end of registration function
|
||
|
||
/**
|
||
* @author Michal Kliment
|
||
* Function to export member's registration to PDF or HTML format
|
||
* @param $member_id
|
||
* @return unknown_type
|
||
*/
|
||
function registration_export($member_id = NULL)
|
||
{
|
||
// no parameter
|
||
*/
|
||
function registration_export($member_id = NULL)
|
||
{
|
||
// no parameter
|
||
if (!isset($member_id))
|
||
Controller::warning(PARAMETER);
|
||
Controller::warning(PARAMETER);
|
||
|
||
$member = new Member_Model($member_id);
|
||
|
||
$member = new Member_Model($member_id);
|
||
|
||
// record doesn't exist
|
||
if ($member->id == 0)
|
||
Controller::error(RECORD);
|
||
|
||
Controller::error(RECORD);
|
||
|
||
// access control
|
||
if (!$this->acl_check_view(get_class($this), 'members', $member_id))
|
||
Controller::error(ACCESS);
|
||
|
||
// creates new form
|
||
Controller::error(ACCESS);
|
||
|
||
// creates new form
|
||
$form = new Forge(url_lang::base().'members/registration_export/'.$member_id, '', 'POST', array('id' => 'article_form'));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Choose format of export'));
|
||
$form->dropdown('format')->label(url_lang::lang('texts.Format').':')->rules('required')->options(array('html'=>'HTML '.url_lang::lang('texts.document'),'pdf'=>'PDF '.url_lang::lang('texts.document')));
|
||
$form->set_attr('class', 'form_class')->set_attr('method', 'post');
|
||
$form->group('')->label(url_lang::lang('texts.Choose format of export'));
|
||
$form->dropdown('format')->label(url_lang::lang('texts.Format').':')->rules('required')->options(array('html'=>'HTML '.url_lang::lang('texts.document'),'pdf'=>'PDF '.url_lang::lang('texts.document')));
|
||
$form->submit('submit')->value(url_lang::lang('texts.Export'));
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
// form is validate
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
|
||
switch ($form_data["format"])
|
||
{
|
||
case 'html':
|
||
// do html export
|
||
$this->registration_html_export($member_id);
|
||
break;
|
||
|
||
case 'pdf':
|
||
// do pdf export
|
||
$this->registration_pdf_export($member_id);
|
||
break;
|
||
|
||
default:
|
||
// do nothing :-)
|
||
break;
|
||
}
|
||
}
|
||
|
||
$view = new View('main');
|
||
$view->title = url_lang::lang('texts.Export of registration');
|
||
$view->content = new View('form');
|
||
$view->content->headline = url_lang::lang('texts.Export of registration');
|
||
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
|
||
$view->content->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
private function registration_html_export($member_id)
|
||
{
|
||
}
|
||
|
||
private function registration_pdf_export($member_id)
|
||
{
|
||
require_once(APPPATH.'vendors/tcpdf/tcpdf.php');
|
||
require_once(APPPATH.'vendors/tcpdf/config/lang/eng.php');
|
||
|
||
// create new PDF document
|
||
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
||
|
||
// set document information
|
||
$pdf->SetCreator(PDF_CREATOR);
|
||
$pdf->SetAuthor('Nicola Asuni');
|
||
$pdf->SetTitle('TCPDF Example 001');
|
||
$pdf->SetSubject('TCPDF Tutorial');
|
||
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
|
||
|
||
// set default header data
|
||
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
|
||
|
||
// set header and footer fonts
|
||
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
|
||
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
|
||
|
||
// set default monospaced font
|
||
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
|
||
|
||
//set margins
|
||
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
|
||
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
|
||
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
|
||
|
||
//set auto page breaks
|
||
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
|
||
|
||
//set image scale factor
|
||
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
|
||
|
||
//set some language-dependent strings
|
||
$pdf->setLanguageArray($l);
|
||
|
||
// ---------------------------------------------------------
|
||
|
||
// set font
|
||
$pdf->SetFont('times', 'BI', 16);
|
||
|
||
// add a page
|
||
$pdf->AddPage();
|
||
|
||
// print a line using Cell()
|
||
$pdf->Cell(0, 12, 'Example 001 - €àèéìòù', 1, 1, 'C');
|
||
|
||
// ---------------------------------------------------------
|
||
|
||
//Close and output PDF document
|
||
$pdf->Output('example_001.pdf', 'I');
|
||
special::required_forge_style($form, ' *', 'required');
|
||
|
||
// form is validate
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
|
||
switch ($form_data["format"])
|
||
{
|
||
case 'html':
|
||
// do html export
|
||
$this->registration_html_export($member_id);
|
||
break;
|
||
|
||
case 'pdf':
|
||
// do pdf export
|
||
$this->registration_pdf_export($member_id);
|
||
break;
|
||
|
||
default:
|
||
// do nothing :-)
|
||
break;
|
||
}
|
||
}
|
||
|
||
$view = new View('main');
|
||
$view->title = url_lang::lang('texts.Export of registration');
|
||
$view->content = new View('form');
|
||
$view->content->headline = url_lang::lang('texts.Export of registration');
|
||
$view->content->link_back = html::anchor(url_lang::base().'members/show/'.$member_id, url_lang::lang('texts.Back to the member'));
|
||
$view->content->form = $form->html();
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
private function registration_html_export($member_id)
|
||
{
|
||
}
|
||
|
||
private function registration_pdf_export($member_id)
|
||
{
|
||
require_once(APPPATH.'vendors/tcpdf/tcpdf.php');
|
||
require_once(APPPATH.'vendors/tcpdf/config/lang/eng.php');
|
||
|
||
// create new PDF document
|
||
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
||
|
||
// set document information
|
||
$pdf->SetCreator(PDF_CREATOR);
|
||
$pdf->SetAuthor('Nicola Asuni');
|
||
$pdf->SetTitle('TCPDF Example 001');
|
||
$pdf->SetSubject('TCPDF Tutorial');
|
||
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
|
||
|
||
// set default header data
|
||
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
|
||
|
||
// set header and footer fonts
|
||
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
|
||
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
|
||
|
||
// set default monospaced font
|
||
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
|
||
|
||
//set margins
|
||
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
|
||
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
|
||
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
|
||
|
||
//set auto page breaks
|
||
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
|
||
|
||
//set image scale factor
|
||
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
|
||
|
||
//set some language-dependent strings
|
||
$pdf->setLanguageArray($l);
|
||
|
||
// ---------------------------------------------------------
|
||
|
||
// set font
|
||
$pdf->SetFont('times', 'BI', 16);
|
||
|
||
// add a page
|
||
$pdf->AddPage();
|
||
|
||
// print a line using Cell()
|
||
$pdf->Cell(0, 12, 'Example 001 - €àèéìòù', 1, 1, 'C');
|
||
|
||
// ---------------------------------------------------------
|
||
|
||
//Close and output PDF document
|
||
$pdf->Output('example_001.pdf', 'I');
|
||
}
|
||
|
||
/**
|
||
* Checks if username already exists.
|
||
* @param $input new username
|
||
... | ... | |
}
|
||
|
||
}
|
||
?>
|
||
?>
|
freenetis/trunk/kohana/application/controllers/login.php | ||
---|---|---|
// Check the username and password
|
||
$user_model=new User_Model();
|
||
$user_id = $user_model->login_request($this->input->post('username'),$this->input->post('password'));
|
||
if ($user_id)
|
||
|
||
$user = ORM::factory('user')->where(array('id' => $user_id))->find();
|
||
$member = ORM::factory('member')->where(array('id' => $user->member->id))->find();
|
||
if ($member->locked)
|
||
$user_id = NULL;
|
||
|
||
if ($user_id)
|
||
{
|
||
$this->session->set('username', $this->input->post('username'));
|
||
$this->session->set('user_id', $user_id);
|
||
... | ... | |
}
|
||
else
|
||
{
|
||
$error = url_lang::lang('texts.Username or password do not match.');
|
||
if ($member->locked)
|
||
$error = url_lang::lang('texts.Your accout has been locked.').' '.url_lang::lang('texts.Please contact administrator.');
|
||
else
|
||
$error = url_lang::lang('texts.Username or password do not match.');
|
||
}
|
||
}
|
||
}
|
freenetis/trunk/kohana/application/controllers/scheduler.php | ||
---|---|---|
{
|
||
$ip = server::remote_addr();
|
||
echo $ip;
|
||
|
||
if ($ip != '212.111.30.120')
|
||
die();
|
||
$member_model = new Member_Model();
|
||
... | ... | |
if ((date('H:i') == '00:00'))
|
||
{
|
||
$member_model->update_membership_interrupts();
|
||
$member_model->update_lock_status();
|
||
}
|
||
|
||
}
|
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql.php | ||
---|---|---|
|
||
// array of sql queries that upgrade database
|
||
$upgrade_sql[get_SVN_rev()] = array(
|
||
"ALTER TABLE `members` ADD `locked` TINYINT NOT NULL DEFAULT '0' AFTER `leaving_date` ;");
|
||
"INSERT INTO `axo` (
|
||
`id` ,
|
||
`section_value` ,
|
||
`value` ,
|
||
`order_value` ,
|
||
`name` ,
|
||
`hidden`
|
||
)
|
||
VALUES (
|
||
'150', 'Members_Controller', 'locked', '0', 'Locked account', '0'
|
||
);"
|
||
,
|
||
"INSERT INTO `axo_map` (
|
||
`acl_id` ,
|
||
`section_value` ,
|
||
`value`
|
||
)
|
||
VALUES (
|
||
'38', 'Members_Controller', 'locked'
|
||
), (
|
||
'51', 'Members_Controller', 'locked'
|
||
);
|
||
"
|
||
);
|
||
?>
|
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql_549.php | ||
---|---|---|
<?php
|
||
$upgrade_sql[549] = array(
|
||
"ALTER TABLE `members` ADD `locked` TINYINT NOT NULL DEFAULT '0' AFTER `leaving_date` ;");
|
||
?>
|
freenetis/trunk/kohana/application/views/members_show.php | ||
---|---|---|
<th><?php echo url_lang::lang('texts.Registration') ?></th>
|
||
<td><?php echo $member_data->registration ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php } ?>
|
||
<?php if ($member_data->member_id != 1) { ?>
|
||
<tr>
|
||
<th><?php echo url_lang::lang('texts.Access to system') ?></th>
|
||
<td><?php echo $member_data->locked ? url_lang::lang('texts.Locked'):url_lang::lang('texts.Unlocked') ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
</table>
|
||
<table class="extended" cellspacing="0" style="float:left; margin-left:10px; width:360px;">
|
||
<?php if ($member_data->member_id != 1) { ?>
|
Také k dispozici: Unified diff
Přidán sloupec locked do tabulky members. Slouží k uzamykání účtú členů pro přístup do freenetisu a dál např. do radiusu.