Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 550

Přidáno uživatelem Roman Ševčík před téměř 15 roky(ů)

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.

Zobrazit rozdíly:

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