Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 18ac9009

Přidáno uživatelem Ondřej Fibich před asi 9 roky(ů)

Fix merge issue that removed all staff from developer branch :-).

Zobrazit rozdíly:

application/controllers/members.php
));
}
if (Settings::get('self_registration') &&
$this->acl_check_new(get_class($this), 'applicants'))
{
$grid->add_new_button('registration', 'Register new applicant', array
(
'title' => __('Registration form'),
));
}
if (!$hide_grid && $this->acl_check_edit('Members_Controller', 'registration'))
{
if (!$regs)
......
$grid->order_field('street_number');
$grid->order_field('town');
$grid->order_field('quarter');
if (Settings::get('finance_enabled'))
{
......
'filter' => $filter_form,
'method' => 'get'
));
if ($this->acl_check_new(get_class($this), 'applicants'))
{
$grid->add_new_button('registration', 'Register new applicant', array
(
'title' => __('Registration form'),
));
}
// approve applicant checkbox
$grid->order_form_field('toapprove')
->callback('callback::member_approve_avaiable')
......
'class' => 'popup_link'
)
);
$user_links[] = html::anchor(
'users/generate_password/'.$user->id, __('Generate onetime password'),
array
(
'title' => strtolower(__('Generate onetime password')),
'class' => 'confirm_link'
)
);
}
// change application password link
......
$form->password('confirm_password')
->rules('required|length['.$pass_min_len.',50]')
->matches($form->password);
->matches($form->password)
->class('join1');
$form->checkbox('autogen_pass')
->label('Generate onetime password')
->class('join2')
->style('width: initial; margin-left: 15px;');
$form->group('Address of connecting place');
......
$form->input('email')
->rules('valid_email')
->class('join1')
->callback(array($this, 'valid_unique_email'))
->style('width:250px');
$form->checkbox('send_verify_email')
->label('Send verify message')
->class('join2 checkbox');
if (Settings::get('finance_enabled'))
{
......
->selected($default_speed_class ? $default_speed_class->id : NULL)
->add_button('speed_classes')
->style('width:200px');
$empty_birthday = Settings::get('users_birthday_empty_enabled');
$min_age = Settings::get('members_age_min_limit');
$form->date('birthday')
->label('Birthday')
->years(date('Y')-100, date('Y'))
->label('Birthday')
->years(date('Y') - 100, date('Y'));
if ($empty_birthday == 0)
{
$form->inputs['birthday']
->rules('required');
}
else
{
$form->inputs['birthday']
->value('');
}
$form->date('entrance_date')
->label('Entrance date')
......
->rules('length[0,250]');
$form->submit('Add');
// posted
if($form->validate())
if ($_POST)
{
$form_data = $form->as_array();
$match = array();
$match2 = array();
// validate address
if ($address_point_server_active &&
(
!Address_points_Controller::is_address_point_valid(
$form_data['country_id'],
$form_data['town'],
$form_data['district'],
$form_data['street'],
$form_data['zip']
) ||
!preg_match('((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', $form_data['street'], $match)
))
if (@$_POST['autogen_pass'] == "1")
{
$form->street->add_error('required', __('Invalid address point.'));
$form->inputs['password']->rules('-length['.$pass_min_len.',50]')->rules('-required');
$form->inputs['confirm_password']->rules('-length['.$pass_min_len.',50]')->rules('-required');
}
else if ($form_data['use_domicile'] &&
$address_point_server_active &&
// posted
if($form->validate())
{
$form_data = $form->as_array();
$match = array();
$match2 = array();
// validate address
if ($address_point_server_active &&
(
!Address_points_Controller::is_address_point_valid(
$form_data['domicile_country_id'],
$form_data['domicile_town'],
$form_data['domicile_district'],
$form_data['domicile_street'],
$form_data['domicile_zip']
) ||
!preg_match('((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', $form_data['domicile_street'], $match2)
!Address_points_Controller::is_address_point_valid(
$form_data['country_id'],
$form_data['town'],
$form_data['district'],
$form_data['street'],
$form_data['zip']
) ||
!preg_match('((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', $form_data['street'], $match)
))
{
$form->domicile_street->add_error('required', __('Invalid address point.'));
}
else
{
// street
if ($address_point_server_active)
{
$street = trim(preg_replace(' ((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', '', $form_data['street']));
$number = $match[0];
$form->street->add_error('required', __('Invalid address point.'));
}
if ($form_data['use_domicile'] &&
$address_point_server_active)
else if ($form_data['use_domicile'] &&
$address_point_server_active &&
(
!Address_points_Controller::is_address_point_valid(
$form_data['domicile_country_id'],
$form_data['domicile_town'],
$form_data['domicile_district'],
$form_data['domicile_street'],
$form_data['domicile_zip']
) ||
!preg_match('((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', $form_data['domicile_street'], $match2)
))
{
$domicile_street = trim(preg_replace(' ((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', '', $form_data['domicile_street']));
$domicile_number = $match2[0];
$form->domicile_street->add_error('required', __('Invalid address point.'));
}
// gps
$gpsx = NULL;
$gpsy = NULL;
if (!empty($form_data['gpsx']) && !empty($form_data['gpsy']))
else
{
$gpsx = doubleval($form_data['gpsx']);
$gpsy = doubleval($form_data['gpsy']);
if (gps::is_valid_degrees_coordinate($form_data['gpsx']))
// street
if ($address_point_server_active)
{
$gpsx = gps::degrees2real($form_data['gpsx']);
}
$street = trim(preg_replace(' ((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', '', $form_data['street']));
if (gps::is_valid_degrees_coordinate($form_data['gpsy']))
{
$gpsy = gps::degrees2real($form_data['gpsy']);
$number = $match[0];
}
}
if ($form_data['use_domicile'] &&
$address_point_server_active)
{
$domicile_street = trim(preg_replace(' ((ev\.č\.)?[0-9][0-9]*(/[0-9][0-9]*[a-zA-Z]*)*)', '', $form_data['domicile_street']));
// gps domicicle
$domicile_gpsx = NULL;
$domicile_gpsy = NULL;
$domicile_number = $match2[0];
}
if (!empty($form_data['domicile_gpsx']) && !empty($form_data['domicile_gpsy']))
{
$domicile_gpsx = doubleval($form_data['domicile_gpsx']);
$domicile_gpsy = doubleval($form_data['domicile_gpsy']);
// gps
$gpsx = NULL;
$gpsy = NULL;
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsx']))
if (!empty($form_data['gpsx']) && !empty($form_data['gpsy']))
{
$domicile_gpsx = gps::degrees2real($form_data['domicile_gpsx']);
$gpsx = doubleval($form_data['gpsx']);
$gpsy = doubleval($form_data['gpsy']);
if (gps::is_valid_degrees_coordinate($form_data['gpsx']))
{
$gpsx = gps::degrees2real($form_data['gpsx']);
}
if (gps::is_valid_degrees_coordinate($form_data['gpsy']))
{
$gpsy = gps::degrees2real($form_data['gpsy']);
}
}
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsy']))
// gps domicicle
$domicile_gpsx = NULL;
$domicile_gpsy = NULL;
if (!empty($form_data['domicile_gpsx']) && !empty($form_data['domicile_gpsy']))
{
$domicile_gpsy = gps::degrees2real($form_data['domicile_gpsy']);
}
}
$domicile_gpsx = doubleval($form_data['domicile_gpsx']);
$domicile_gpsy = doubleval($form_data['domicile_gpsy']);
$member = new Member_Model();
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsx']))
{
$domicile_gpsx = gps::degrees2real($form_data['domicile_gpsx']);
}
try
{
//$profiler = new Profiler();
// let's start safe transaction processing
$member->transaction_start();
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsy']))
{
$domicile_gpsy = gps::degrees2real($form_data['domicile_gpsy']);
}
}
$user = new User_Model();
$account = new Account_Model();
$address_point_model = new Address_point_Model();
$member = new Member_Model();
if ($address_point_server_active)
try
{
$t = new Town_Model();
$s = new Street_Model();
$t_id = $t->get_town($form_data['zip'], $form_data['town'], $form_data['district'])->id;
$s_id = $s->get_street($street, $t_id)->id;
//$profiler = new Profiler();
// let's start safe transaction processing
$member->transaction_start();
$user = new User_Model();
$account = new Account_Model();
$address_point_model = new Address_point_Model();
if ($address_point_server_active)
{
$t = new Town_Model();
$s = new Street_Model();
$t_id = $t->get_town($form_data['zip'], $form_data['town'], $form_data['district'])->id;
$s_id = $s->get_street($street, $t_id)->id;
$address_point = $address_point_model->get_address_point($form_data['country_id'], $t_id, $s_id, $number,
$address_point = $address_point_model->get_address_point($form_data['country_id'], $t_id, $s_id, $number,
$gpsx, $gpsy);
}
else
{
$address_point = $address_point_model->get_address_point(
}
else
{
$address_point = $address_point_model->get_address_point(
$form_data['country_id'], $form_data['town_id'],
$form_data['street_id'], $form_data['street_number'],
$gpsx, $gpsy
);
}
);
}
// add address point if there is no such
if (!$address_point->id)
{
$address_point->save_throwable();
}
// add address point if there is no such
if (!$address_point->id)
{
$address_point->save_throwable();
}
// add GPS
if (!empty($gpsx) && !empty($gpsy))
{ // save
$address_point->update_gps_coordinates(
// add GPS
if (!empty($gpsx) && !empty($gpsy))
{ // save
$address_point->update_gps_coordinates(
$address_point->id, $gpsx, $gpsy
);
}
else
{ // delete gps
$address_point->gps = '';
$address_point->save_throwable();
}
);
}
else
{ // delete gps
$address_point->gps = '';
$address_point->save_throwable();
}
$member->address_point_id = $address_point->id;
$member->address_point_id = $address_point->id;
$account->account_attribute_id = Account_attribute_Model::CREDIT;
$account->account_attribute_id = Account_attribute_Model::CREDIT;
if ($form_data['membername'] == '')
{
$account->name = $form_data['surname'].' '.$form_data['name'];
}
else
{
$account->name = $form_data['membername'];
}
if ($form_data['membername'] == '')
{
$account->name = $form_data['surname'] . ' ' . $form_data['name'];
}
else
{
$account->name = $form_data['membername'];
}
$user->name = $form_data['name'];
$user->middle_name = $form_data['middle_name'];
$user->login = $form_data['login'];
$user->surname = $form_data['surname'];
$user->pre_title = $form_data['title1'];
$user->post_title = $form_data['title2'];
$user->birthday = date("Y-m-d",$form_data['birthday']);
$user->password = sha1($form_data['password']);
$user->type = User_Model::MAIN_USER;
$user->application_password = security::generate_password();
// id of user who added member
$member->user_id = $this->session->get('user_id');
$member->comment = $form_data['comment'];
if ($form_data['autogen_pass'] == "1")
{
// generate random password
$raw_password = security::generate_password(6);
$user->password_is_onetime = 1;
}
else
{
$raw_password = $form_data['password'];
}
if ($form_data['membername'] == '')
{
$member->name = $form_data['name'].' '.$form_data['surname'];
}
else
{
$member->name = $form_data['membername'];
}
$user->name = $form_data['name'];
$user->middle_name = $form_data['middle_name'];
$user->login = $form_data['login'];
$user->surname = $form_data['surname'];
$user->pre_title = $form_data['title1'];
$user->post_title = $form_data['title2'];
$user->birthday = (empty($form_data['birthday']) ? NULL : date("Y-m-d",$form_data['birthday']));
$user->password = sha1($raw_password);
$user->type = User_Model::MAIN_USER;
$user->application_password = security::generate_password();
// id of user who added member
$member->user_id = $this->session->get('user_id');
$member->comment = $form_data['comment'];
$member->type = $form_data['type'];
if ($form_data['membername'] == '')
{
$member->name = $form_data['name'] . ' ' . $form_data['surname'];
}
else
{
$member->name = $form_data['membername'];
}
// access control
if ($this->acl_check_new('Members_Controller', 'organization_id'))
{
$member->organization_identifier = $form_data['organization_identifier'];
}
$member->type = $form_data['type'];
// access control
if ($this->acl_check_new('Members_Controller', 'vat_organization_identifier'))
{
$member->vat_organization_identifier = $form_data['vat_organization_identifier'];
}
// access control
if ($this->acl_check_new('Members_Controller', 'organization_id'))
{
$member->organization_identifier = $form_data['organization_identifier'];
}
$member->speed_class_id = $form_data['speed_class'];
// access control
if ($this->acl_check_new('Members_Controller', 'vat_organization_identifier'))
{
$member->vat_organization_identifier = $form_data['vat_organization_identifier'];
}
if (Settings::get('finance_enabled'))
{
$member->entrance_fee = $form_data['entrance_fee'];
$member->debt_payment_rate = $form_data['debt_payment_rate'];
}
$member->speed_class_id = $form_data['speed_class'];
if ($member->type == Member_Model::TYPE_APPLICANT)
{
$member->entrance_date = NULL;
}
else
{
$member->entrance_date = date('Y-m-d', $form_data['entrance_date']);
}
if (Settings::get('finance_enabled'))
{
$member->entrance_fee = $form_data['entrance_fee'];
$member->debt_payment_rate = $form_data['debt_payment_rate'];
}
// saving member
$member->save_throwable();
if ($member->type == Member_Model::TYPE_APPLICANT)
{
$member->entrance_date = NULL;
}
else
{
$member->entrance_date = date('Y-m-d', $form_data['entrance_date']);
}
// saving user
$user->member_id = $member->id;
$user->save_throwable();
// saving member
$member->save_throwable();
// telephone
$contact_model = new Contact_Model();
// saving user
$user->member_id = $member->id;
$user->save_throwable();
// search for contacts
$p_contact_id = $contact_model->find_contact_id(
// telephone
$contact_model = new Contact_Model();
// search for contacts
$p_contact_id = $contact_model->find_contact_id(
Contact_Model::TYPE_PHONE, $form_data['phone']
);
);
if ($p_contact_id)
{
$contact_model = ORM::factory('contact', $p_contact_id);
$contact_model->add($user);
$contact_model->save_throwable();
}
else
{ // add whole contact
$contact_model->type = Contact_Model::TYPE_PHONE;
$contact_model->value = $form_data['phone'];
$contact_model->save_throwable();
if ($p_contact_id)
{
$contact_model = ORM::factory('contact', $p_contact_id);
$contact_model->add($user);
$contact_model->save_throwable();
}
else
{ // add whole contact
$contact_model->type = Contact_Model::TYPE_PHONE;
$contact_model->value = $form_data['phone'];
$contact_model->save_throwable();
$contact_model->add($user);
$contact_model->add($user);
$phone_country = new Country_Model($form_data['phone_prefix']);
$contact_model->add($phone_country);
$phone_country = new Country_Model($form_data['phone_prefix']);
$contact_model->add($phone_country);
$contact_model->save_throwable();
}
$contact_model->save_throwable();
}
$contact_model->clear();
$contact_model->clear();
// email
if (!empty($form_data['email']))
{
// search for contacts
$e_contact_id = $contact_model->find_contact_id(
Contact_Model::TYPE_EMAIL, $form_data['email']
);
if ($e_contact_id)
{
$contact_model = ORM::factory('contact', $e_contact_id);
$contact_model->add($user);
$contact_model->save_throwable();
}
else
{ // add whole contact
$contact_model->type = Contact_Model::TYPE_EMAIL;
$contact_model->value = $form_data['email'];
$contact_model->save_throwable();
$contact_model->add($user);
$contact_model->save_throwable();
}
}
// email
if (!empty($form_data['email']))
{
// search for contacts
$e_contact_id = $contact_model->find_contact_id(
Contact_Model::TYPE_EMAIL, $form_data['email']
);
// saving account
$account->member_id = $member->id;
$account->save_throwable();
if ($e_contact_id)
{
$contact_model = ORM::factory('contact', $e_contact_id);
$contact_model->add($user);
$contact_model->save_throwable();
} else
{ // add whole contact
$contact_model->type = Contact_Model::TYPE_EMAIL;
$contact_model->value = $form_data['email'];
$contact_model->save_throwable();
$contact_model->add($user);
$contact_model->save_throwable();
}
if (Settings::get('finance_enabled'))
{
// saving variable symbol
if (!isset($form_data['variable_symbol_generate']) ||
!$form_data['variable_symbol_generate'])
{
$var_sym = $form_data['variable_symbol'];
}
else
{
$var_sym = Variable_Key_Generator::factory()->generate($member->id);
if ($form_data['send_verify_email'])
{
try
{
Contacts_Controller::send_verify_message($contact_model->id);
status::success('Verification message have been successfully sent.');
}
catch (Exception $ex)
{
status::error('Error - cant send Verification message', $ex);
Log::add_exception($ex);
}
}
}
if (empty($var_sym))
// saving account
$account->member_id = $member->id;
$account->save_throwable();
if (Settings::get('finance_enabled'))
{
throw new Exception(__('Empty variable symbol.'));
}
// saving variable symbol
if (!isset($form_data['variable_symbol_generate']) ||
!$form_data['variable_symbol_generate'])
{
$var_sym = $form_data['variable_symbol'];
}
else
{
$var_sym = Variable_Key_Generator::factory()->generate($member->id);
}
$variable_symbol_model = new Variable_Symbol_Model();
$variable_symbol_model->account_id = $account->id;
$variable_symbol_model->variable_symbol = $var_sym;
$variable_symbol_model->save_throwable();
}
if (empty($var_sym))
{
throw new Exception(__('Empty variable symbol.'));
}
// save allowed subnets count of member
$allowed_subnets_count = new Allowed_subnets_count_Model();
$allowed_subnets_count->member_id = $member->id;
$allowed_subnets_count->count = Settings::get('allowed_subnets_default_count');
$allowed_subnets_count->save();
$variable_symbol_model = new Variable_Symbol_Model();
$variable_symbol_model->account_id = $account->id;
$variable_symbol_model->variable_symbol = $var_sym;
$variable_symbol_model->save_throwable();
}
// address of connecting place is different than address of domicile
if ($form_data['use_domicile'])
{
if ($address_point_server_active)
{
$t = new Town_Model();
$s = new Street_Model();
$t_id = $t->get_town($form_data['domicile_zip'],
$form_data['domicile_town'],
$form_data['domicile_district'])->id;
$s_id = $s->get_street($domicile_street, $t_id)->id;
// save allowed subnets count of member
$allowed_subnets_count = new Allowed_subnets_count_Model();
$allowed_subnets_count->member_id = $member->id;
$allowed_subnets_count->count = Settings::get('allowed_subnets_default_count');
$allowed_subnets_count->save();
$address_point = $address_point_model->get_address_point(
$form_data['domicile_country_id'],
$t_id,
$s_id,
$domicile_number,
$domicile_gpsx, $domicile_gpsy
);
}
else
// address of connecting place is different than address of domicile
if ($form_data['use_domicile'])
{
$address_point = $address_point_model->get_address_point(
if ($address_point_server_active)
{
$t = new Town_Model();
$s = new Street_Model();
$t_id = $t->get_town($form_data['domicile_zip'],
$form_data['domicile_town'],
$form_data['domicile_district'])->id;
$s_id = $s->get_street($domicile_street, $t_id)->id;
$address_point = $address_point_model->get_address_point(
$form_data['domicile_country_id'],
$t_id,
$s_id,
$domicile_number,
$domicile_gpsx, $domicile_gpsy
);
}
else
{
$address_point = $address_point_model->get_address_point(
$form_data['domicile_country_id'],
$form_data['domicile_town_id'],
$form_data['domicile_street_id'],
$form_data['domicile_street_number'],
$domicile_gpsx, $domicile_gpsy
);
}
);
}
// add address point if there is no such
if (!$address_point->id)
{
$address_point->save_throwable();
}
// add address point if there is no such
if (!$address_point->id)
{
$address_point->save_throwable();
}
// test if address of connecting place is really
// different than address of domicile
if ($member->address_point_id != $address_point->id)
{
// add GPS
if (!empty($domicile_gpsx) && !empty($domicile_gpsy))
{ // save
$address_point->update_gps_coordinates(
// test if address of connecting place is really
// different than address of domicile
if ($member->address_point_id != $address_point->id)
{
// add GPS
if (!empty($domicile_gpsx) && !empty($domicile_gpsy))
{ // save
$address_point->update_gps_coordinates(
$address_point->id, $domicile_gpsx,
$domicile_gpsy
);
}
else
{ // delete gps
$address_point->gps = '';
$address_point->save_throwable();
);
}
else
{ // delete gps
$address_point->gps = '';
$address_point->save_throwable();
}
// add domicicle
$members_domicile = new Members_domicile_Model();
$members_domicile->member_id = $member->id;
$members_domicile->address_point_id = $address_point->id;
$members_domicile->save_throwable();
}
// add domicicle
$members_domicile = new Members_domicile_Model();
$members_domicile->member_id = $member->id;
$members_domicile->address_point_id = $address_point->id;
$members_domicile->save_throwable();
}
}
// insert regular member access rights
$groups_aro_map = new Groups_aro_map_Model();
$groups_aro_map->aro_id = $user->id;
$groups_aro_map->group_id = Aro_group_Model::REGULAR_MEMBERS;
$groups_aro_map->save_throwable();
// insert regular member access rights
$groups_aro_map = new Groups_aro_map_Model();
$groups_aro_map->aro_id = $user->id;
$groups_aro_map->group_id = Aro_group_Model::REGULAR_MEMBERS;
$groups_aro_map->save_throwable();
// reset post
unset($form_data);
$password_message = '';
if ($form_data['autogen_pass'] == 1)
{
$password_message = '<br />'.__('Generated password of user is: %s', $raw_password);
}
// reset post
unset($form_data);
// send welcome message to member
Mail_message_Model::create(
// send welcome message to member
Mail_message_Model::create(
Member_Model::ASSOCIATION, $user->id,
mail_message::format('welcome_subject'),
mail_message::format('welcome'), 1
);
);
// commit transaction
$member->transaction_commit();
status::success('Member has been successfully added.');
// add information about last added member by logged user
// for selecting member in dropdown for connection request
$this->session->set('last_added_member_id', $member->id);
// commit transaction
$member->transaction_commit();
status::success(__('Member has been successfully added.').$password_message, FALSE);
// redirect
url::redirect('members/show/'.$member->id);
}
catch (Exception $e)
{
// rollback transaction
$member->transaction_rollback();
Log::add_exception($e);
status::error('Error - cant add new member.', $e);
$this->redirect('members/show_all');
// add information about last added member by logged user
// for selecting member in dropdown for connection request
$this->session->set('last_added_member_id', $member->id);
// redirect
url::redirect('members/show/' . $member->id);
}
catch (Exception $e)
{
// rollback transaction
$member->transaction_rollback();
Log::add_exception($e);
status::error('Error - cant add new member.', $e);
$this->redirect('members/show_all');
}
}
}
}
$headline = __('Add new member');
// breadcrumbs navigation
......
case 'pdf':
// do pdf export
$this->registration_pdf_export($member_id);
die();
if ($this->registration_pdf_export($member_id))
{
die();
}
else
{
status::error('Cannot append PDF document to registration, please create PDF document in MS Word, PDF Creator or Adobe Illustrator.');
$this->redirect(url_lang::previous());
}
break;
}
}
......
$filename = url::title(__('registration').'-'.$member->name).'.pdf';
$mpdf = new mPDF('utf-8', 'A4');
$mpdf->WriteHTML($html_logo_correct);
$mpdf->SetImportUse();
if (Settings::get('registration_document'))
{
try
{
$pages_count = $mpdf->SetSourceFile(Settings::get('registration_document'));
}
catch (Exception $e)
{
return false;
}
if ($pages_count !== false)
{
for ($i = 1; $i <= $pages_count; $i++)
{
$import_page = $mpdf->ImportPage($i);
$s = $mpdf->GetTemplateSize($i);
if ($s['w'] > $s['h'])
{
$mpdf->AddPage('L');
}
else
{
$mpdf->AddPage();
}
$mpdf->UseTemplate($import_page);
}
}
}
$mpdf->Output($filename, 'I');
return true;
}
/**
......
$filter_form->add('entrance_date')
->type('date');
if (module::e('self_registration'))
{
$filter_form->add('applicant_connected_from')
->label('Applicant connected from')
->type('date');
}
$filter_form->add('leaving_date')
->type('date');
......
)
);
$filter_form->add('quarter')
->table('t')
->callback('json/quarter_name');
$filter_form->add('street')
->type('select')
->table('s')
......
throw new Exception(__('Connection to vtiger server has failed'));
}
}
/**
* Method used for popup filtering
*
* @author Michal Kliment
*/
public function filter()
{
// access rights
if (!$this->acl_check_view(get_class($this), 'members'))
Controller::error(ACCESS);
// create filter form
$filter_form = self::create_filter_form();
// filter form is submited => print only result in JSON format
if (!$filter_form->is_first_load())
{
$filter_sql = $filter_form->as_sql();
$member_model = new Member_Model();
// counts all members
$total_members = $member_model->count_all_members($filter_sql);
// returns all members
$members = $member_model->get_all_members(
0, $total_members, 'surname', 'asc',
$filter_sql
);
$data = array();
// transform members from objects to array
$x = 0;
foreach ($members as $member)
{
$data[$x++] = array
(
'id' => $member->id,
'name' => $member->surname.' '.$member->firstname.' (ID '.$member->id.')'
);
}
// print array with members in JSON
die(json_encode($data));
}
// filter form is not submited => print only form
else
{
$title = __('Filter members');
$view = new View('main');
$view->title = $title;
$view->content = new View('form');
$view->content->headline = $title;
$view->content->form = $filter_form;
$view->render(TRUE);
}
}
}

Také k dispozici: Unified diff