Revize 2126
Přidáno uživatelem Ondřej Fibich před asi 11 roky(ů)
freenetis/branches/1.1/application/vendors/axo_doc/axo_doc.dtd | ||
---|---|---|
<!--- Object that represents a class of the given type. -->
|
||
<!ELEMENT object (method)*>
|
||
<!ATTLIST object
|
||
type (controller|helper|library) #REQUIRED
|
||
type (controller|helper|library|view) #REQUIRED
|
||
name CDATA #REQUIRED
|
||
hide (true|false) "false"
|
||
>
|
freenetis/branches/1.1/application/vendors/axo_doc/axo_doc.xml | ||
---|---|---|
|
||
header ("Content-disposition: attachment; filename=".url::title($device->name)."-".$format."-export".$ext);
|
||
}
|
||
|
||
// find dns servers
|
||
$dns_servers = arr::trim(explode("\n",Settings::get('dns_servers')));
|
||
|
||
// dns servers has to be set
|
||
if (!count($dns_servers))
|
||
{
|
||
// log to database
|
||
Log_queue_Model::error(
|
||
'Device has not been exported: DNS servers are not set',
|
||
print_r($device_export, true)
|
||
);
|
||
|
||
if ($from_device)
|
||
{
|
||
if (!text::starts_with($format, 'mikrotik'))
|
||
{
|
||
@header('HTTP/1.0 500 Internal Server Error');
|
||
}
|
||
die();
|
||
}
|
||
}
|
||
|
||
$view = new View('device_export_templates/'.$format);
|
||
$view->result = $device_export;
|
||
$view->dns_servers = $dns_servers;
|
||
$view->render(TRUE);
|
||
}
|
||
// form to choose format and output
|
||
... | ... | |
$invoice->partner_town = @$xpath->evaluate($invoice_template->cus_town, $xpath_invoice);
|
||
$invoice->partner_zip_code = @$xpath->evaluate($invoice_template->cus_zip_code, $xpath_invoice);
|
||
$invoice->organization_identifier = @$xpath->evaluate($invoice_template->cus_organization_identifier, $xpath_invoice);
|
||
$invoice->vat_organization_identifier = @$xpath->evaluate($invoice_template->cus_vat_organization_identifier, $xpath_invoice);
|
||
$invoice->phone_number = @$xpath->evaluate($invoice_template->cus_phone_number, $xpath_invoice);
|
||
$invoice->email = @$xpath->evaluate($invoice_template->cus_email, $xpath_invoice);
|
||
|
||
... | ... | |
$invoice->partner_town = @$xpath->evaluate($invoice_template->sup_town, $xpath_invoice);
|
||
$invoice->partner_zip_code = @$xpath->evaluate($invoice_template->sup_zip_code, $xpath_invoice);
|
||
$invoice->organization_identifier = @$xpath->evaluate($invoice_template->sup_organization_identifier, $xpath_invoice);
|
||
$invoice->vat_organization_identifier = @$xpath->evaluate($invoice_template->sup_vat_organization_identifier, $xpath_invoice);
|
||
$invoice->phone_number = @$xpath->evaluate($invoice_template->sup_phone_number, $xpath_invoice);
|
||
$invoice->email = @$xpath->evaluate($invoice_template->sup_email, $xpath_invoice);
|
||
|
||
... | ... | |
$invoice->partner_country = $country->country_name;
|
||
$invoice->organization_identifier = array_key_exists($fields['organization_identifier'], $record) ?
|
||
$record[$fields['organization_identifier']] : '';
|
||
$invoice->vat_organization_identifier = array_key_exists($fields['vat_organization_identifier'], $record) ?
|
||
$record[$fields['vat_organization_identifier']] : '';
|
||
$invoice->phone_number = array_key_exists($fields['phone'], $record) ?
|
||
$record[$fields['phone']] : '';
|
||
$invoice->email = array_key_exists($fields['email'], $record) ?
|
||
... | ... | |
|
||
$this->form->date('date_due')
|
||
->label('Due date')
|
||
->years(date('Y') - 100, date('Y'))
|
||
->years(date('Y') - 100)
|
||
->rules('required');
|
||
|
||
$this->form->date('date_vat')
|
||
... | ... | |
$this->form->input('organization_identifier')
|
||
->rules('length[3,20]');
|
||
|
||
$this->form->input('vat_organization_identifier')
|
||
->rules('length[3,30]');
|
||
|
||
$this->form->input('phone_number')
|
||
->rules('valid_phone');
|
||
|
||
... | ... | |
$invoice->partner_zip_code = $form_data['partner_zip_code'];
|
||
$invoice->partner_country = $form_data['partner_country'];
|
||
$invoice->organization_identifier = $form_data['organization_identifier'];
|
||
$invoice->vat_organization_identifier = $form_data['vat_organization_identifier'];
|
||
$invoice->phone_number = $form_data['phone_number'];
|
||
$invoice->email = $form_data['email'];
|
||
}
|
||
... | ... | |
->rules('length[3,20]')
|
||
->value($invoice->organization_identifier);
|
||
|
||
$this->form->input('vat_organization_identifier')
|
||
->rules('length[3,30]')
|
||
->value($invoice->vat_organization_identifier);
|
||
|
||
$this->form->input('phone_number')
|
||
->rules('valid_phone')
|
||
->value($invoice->phone_number);
|
||
... | ... | |
$invoice->partner_zip_code = $form_data['partner_zip_code'];
|
||
$invoice->partner_country = $form_data['partner_country'];
|
||
$invoice->organization_identifier = $form_data['organization_identifier'];
|
||
$invoice->vat_organization_identifier = $form_data['vat_organization_identifier'];
|
||
$invoice->phone_number = $form_data['phone_number'];
|
||
$invoice->email = $form_data['email'];
|
||
}
|
||
... | ... | |
<method name="valid_ip"></method>
|
||
<method name="valid_mac_address_unique_in_subnet"></method>
|
||
<method name="valid_gateway"></method>
|
||
<method name="check_ip"></method>
|
||
</object>
|
||
<object name="js" type="controller">
|
||
<method name="__construct"></method>
|
||
... | ... | |
<method name="_js_invoices_edit"></method>
|
||
<method name="_js_ip_addresses"></method>
|
||
<method name="_js_mail_write_message"></method>
|
||
<method name="_js_members"></method>
|
||
<method name="_js_members_add"></method>
|
||
<method name="_js_members_approve_applicant"></method>
|
||
<method name="_js_members_edit"></method>
|
||
... | ... | |
<method name="_js_notifications_member"></method>
|
||
<method name="_js_notifications_members"></method>
|
||
<method name="_js_notifications_subnet"></method>
|
||
<method name="_js_phone_invoices_import"></method>
|
||
<method name="_js_registration"></method>
|
||
<method name="_js_settings_system"></method>
|
||
<method name="_js_transfers_add_from_account"></method>
|
||
<method name="_js_transfers_payment_calculator">
|
||
<!-- _js_transfers_payment_calculator($account_id = NULL)
|
||
{
|
||
... | ... | |
<axo section="Accounts_Controller" value="transfers" action="new" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="_js_users_show"></method>
|
||
<method name="_js_users_show_work_report"></method>
|
||
<method name="_js_voip_show"></method>
|
||
<method name="_js_voip_calls_show_by_user"></method>
|
||
<method name="_js_work_reports_add"></method>
|
||
... | ... | |
<method name="work_report_form_functions"></method>
|
||
<method name="notification_activate"></method>
|
||
<method name="ip_addresses_complete"></method>
|
||
<method name="members_ares"></method>
|
||
</object>
|
||
<object name="json" type="controller">
|
||
<method name="send_json_headers"></method>
|
||
... | ... | |
<!-- get_accounts_by_type($origin_account_id = NULL)
|
||
{
|
||
// access control
|
||
if (!$this->acl_check_view('Accounts_Controller', 'transfers'))
|
||
$origin_account = new Account_Model($origin_account_id);
|
||
|
||
if ($origin_account->id == 0)
|
||
Controller::error(RECORD);
|
||
|
||
if (!$this->acl_check_new('Accounts_Controller', 'transfers', $origin_account->member_id))
|
||
Controller::error(ACCESS);
|
||
|
||
$id = $this->input->get('id');
|
||
... | ... | |
* @author Michal Kliment
|
||
*/
|
||
public -->
|
||
<axo section="Accounts_Controller" value="transfers" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Accounts_Controller" value="transfers" action="new" own="true" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="get_fees_by_type">
|
||
<!-- get_fees_by_type()
|
||
... | ... | |
<method name="member_name"></method>
|
||
<method name="obtain_mac_address"></method>
|
||
<method name="organization_identifier"></method>
|
||
<method name="vat_organization_identifier"></method>
|
||
<method name="variable_symbol"></method>
|
||
<method name="town_name"></method>
|
||
<method name="quarter_name"></method>
|
||
... | ... | |
<method name="invoice_company"></method>
|
||
<method name="invoice_country"></method>
|
||
<method name="invoice_organization_id"></method>
|
||
<method name="invoice_vat_organization_id"></method>
|
||
<method name="invoice_account_nr"></method>
|
||
<method name="invoice_phone_nr"></method>
|
||
<method name="invoice_email"></method>
|
||
<method name="get_connected_to_device_and_iface"></method>
|
||
<method name="send_ares_request"></method>
|
||
<method name="load_member_data_from_ares"></method>
|
||
</object>
|
||
<object name="languages" type="controller">
|
||
<method name="index"></method>
|
||
... | ... | |
);
|
||
}
|
||
|
||
if ($this->member_id == $member_id)
|
||
{
|
||
$member_links[] = html::anchor(
|
||
'user_favourite_pages/show_all', __('Favourites')
|
||
);
|
||
}
|
||
|
||
if (Settings::get('finance_enabled'))
|
||
{
|
||
// members's transfers link
|
||
... | ... | |
}
|
||
|
||
// export contacts
|
||
$member_links[] = html::anchor(
|
||
'export/vcard/' . $member_id . server::query_string(),
|
||
__('Export contacts'),
|
||
array
|
||
(
|
||
'title' => __('Export contacts'),
|
||
'class' => 'popup_link'
|
||
)
|
||
);
|
||
if ($this->acl_check_view('Members_Controller', 'members'))
|
||
{
|
||
$member_links[] = html::anchor(
|
||
'export/vcard/' . $member_id . server::query_string(),
|
||
__('Export contacts'),
|
||
array
|
||
(
|
||
'title' => __('Export contacts'),
|
||
'class' => 'popup_link'
|
||
)
|
||
);
|
||
}
|
||
|
||
$member_links[] = html::anchor(
|
||
'members/registration_export/'.$member->id,
|
||
... | ... | |
)
|
||
);
|
||
}
|
||
|
||
if ($this->user_id == $user->id)
|
||
{
|
||
$user_links[] = html::anchor(
|
||
'user_favourite_pages/show_all', __('Favourites')
|
||
);
|
||
}
|
||
|
||
// user's devices link
|
||
if (Settings::get('networks_enabled') &&
|
||
... | ... | |
);
|
||
}
|
||
|
||
if (!$is_association)
|
||
if (!$is_association && module::e('approval'))
|
||
{
|
||
// user's works link
|
||
if (Settings::get('works_enabled') &&
|
||
... | ... | |
<axo section="Allowed_subnets_Controller" value="allowed_subnet" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Notifications_Controller" value="member" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Membership_transfers_Controller" value="membership_transfer" action="new" own="true" usage_type="unknown"></axo>
|
||
<axo section="Membership_transfers_Controller" value="membership_transfer" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Membership_transfers_Controller" value="membership_transfer" action="delete" own="true" usage_type="unknown"></axo>
|
||
... | ... | |
</method>
|
||
<method name="get_expiration_date"></method>
|
||
<method name="find_debt_payments"></method>
|
||
<method name="add"></method>
|
||
<method name="add">
|
||
<!-- add()
|
||
{
|
||
// access rights
|
||
if (!$this->acl_check_new(get_class($this),'members'))
|
||
Controller::error(ACCESS);
|
||
|
||
$enum_types = new Enum_type_Model();
|
||
$types = $enum_types->get_values(Enum_type_Model::MEMBER_TYPE_ID);
|
||
asort($types);
|
||
|
||
// start entrance date
|
||
$association = new Member_Model(Member_Model::ASSOCIATION);
|
||
$entrace_start_year = date('Y', strtotime($association->entrance_date));
|
||
|
||
// cannot add former member
|
||
unset($types[Member_Model::TYPE_FORMER]);
|
||
unset($types[Member_Model::TYPE_APPLICANT]);
|
||
|
||
// regular member by default
|
||
$type_id = $enum_types->get_type_id('Regular member');
|
||
|
||
// entrance fee
|
||
$fee_model = new Fee_Model();
|
||
$fee = $fee_model->get_by_date_type(date('Y-m-d'), 'entrance fee');
|
||
|
||
if (is_object($fee) && $fee->id)
|
||
$entrance_fee = $fee->fee;
|
||
else
|
||
$entrance_fee = 0;
|
||
|
||
// countries
|
||
$arr_countries = ORM::factory('country')->select_list('id', 'country_name');
|
||
|
||
// streets
|
||
$arr_streets = array
|
||
(
|
||
NULL => '- ' . __('Without street') . ' -'
|
||
) + ORM::factory('street')->select_list('id', 'street');
|
||
|
||
// towns with zip code and quarter
|
||
$arr_towns = array
|
||
(
|
||
NULL => '- ' . __('Select town') . ' -'
|
||
) + ORM::factory('town')->select_list_with_quater();
|
||
|
||
// phone prefixes
|
||
$country_model = new Country_Model();
|
||
$phone_prefixes = $country_model->select_country_list();
|
||
|
||
// form
|
||
$form = new Forge();
|
||
|
||
$form->group('Basic information');
|
||
|
||
$form->input('title1')
|
||
->label('Pre title')
|
||
->rules('length[3,40]');
|
||
|
||
$form->input('name')
|
||
->rules('required|length[1,30]');
|
||
|
||
$form->input('middle_name')
|
||
->rules('length[1,30]');
|
||
|
||
$form->input('surname')
|
||
->rules('required|length[1,60]');
|
||
|
||
$form->input('title2')
|
||
->label('Post title')
|
||
->rules('length[1,30]');
|
||
|
||
$form->dropdown('type')
|
||
->options($types)
|
||
->rules('required')
|
||
->selected($type_id)
|
||
->style('width:200px');
|
||
|
||
$form->input('membername')
|
||
->label(__('Name of organization').': '.help::hint('member_name'))
|
||
->rules('length[1,60]');
|
||
|
||
// access control
|
||
if ($this->acl_check_new('Members_Controller', 'organization_id'))
|
||
{
|
||
$form->input('organization_identifier')
|
||
->rules('length[3,20]');
|
||
}
|
||
|
||
// access control
|
||
if ($this->acl_check_new('Members_Controller', 'vat_organization_identifier'))
|
||
{
|
||
$form->input('vat_organization_identifier')
|
||
->rules('length[3,30]');
|
||
}
|
||
|
||
$form->group('Login data');
|
||
|
||
$form->input('login')
|
||
->label('Username')
|
||
->rules('required|length[5,20]')
|
||
->callback(array($this, 'valid_username'));
|
||
|
||
$pass_min_len = Settings::get('security_password_length');
|
||
|
||
$form->password('password')
|
||
->label(__('Password').': '.help::hint('password'))
|
||
->rules('required|length['.$pass_min_len.',50]')
|
||
->class('main_password');
|
||
|
||
$form->password('confirm_password')
|
||
->rules('required|length['.$pass_min_len.',50]')
|
||
->matches($form->password);
|
||
|
||
$form->group('Address of connecting place');
|
||
|
||
$form->dropdown('town_id')
|
||
->label('Town')
|
||
->rules('required')
|
||
->options($arr_towns)
|
||
->style('width:200px')
|
||
->add_button('towns');
|
||
|
||
$form->dropdown('street_id')
|
||
->label('Street')
|
||
->options($arr_streets)
|
||
->style('width:200px')
|
||
->style('width:200px')
|
||
->add_button('streets');
|
||
|
||
$form->input('street_number')
|
||
->rules('length[1,50]');
|
||
|
||
$form->dropdown('country_id')
|
||
->label('Country')
|
||
->rules('required')
|
||
->options($arr_countries)
|
||
->style('width:200px')
|
||
->selected(Settings::get('default_country'));
|
||
|
||
$form->input('gpsx')
|
||
->label(__('GPS').' X: '.help::hint('gps_coordinates'))
|
||
->rules('gps');
|
||
|
||
$form->input('gpsy')
|
||
->label(__('GPS').' Y: '.help::hint('gps_coordinates'))
|
||
->rules('gps');
|
||
|
||
$form->group('Address of domicile');
|
||
|
||
$form->checkbox('use_domicile')
|
||
->label(__(
|
||
'Address of connecting place is different than address of domicile'
|
||
));
|
||
|
||
$form->dropdown('domicile_town_id')
|
||
->label('Town')
|
||
->options($arr_towns)
|
||
->style('width:200px')
|
||
->add_button('towns');
|
||
|
||
$form->dropdown('domicile_street_id')
|
||
->label('Street')
|
||
->options($arr_streets)
|
||
->style('width:200px')
|
||
->add_button('streets');
|
||
|
||
$form->input('domicile_street_number')
|
||
->label('Street number')
|
||
->rules('length[1,50]')
|
||
->callback(array($this, 'valid_docimile_street_number'))
|
||
->style('width:200px');
|
||
|
||
$form->dropdown('domicile_country_id')
|
||
->label('Country')
|
||
->options($arr_countries)
|
||
->selected(Settings::get('default_country'))
|
||
->style('width:200px');
|
||
|
||
$form->input('domicile_gpsx')
|
||
->label(__('GPS').' X: '.help::hint('gps_coordinates'))
|
||
->rules('gps');
|
||
|
||
$form->input('domicile_gpsy')
|
||
->label(__('GPS').' Y: '.help::hint('gps_coordinates'))
|
||
->rules('gps');
|
||
|
||
$form->group('Contact information');
|
||
|
||
$form->dropdown('phone_prefix')
|
||
->label('Telephone prefix')
|
||
->rules('required')
|
||
->options($phone_prefixes)
|
||
->selected(Settings::get('default_country'))
|
||
->style('width:200px');
|
||
|
||
$form->input('phone')
|
||
->rules('required|length[9,40]')
|
||
->callback(array($this, 'valid_phone'));
|
||
|
||
$form->input('email')
|
||
->rules('length[3,50]|valid_email');
|
||
|
||
if (Settings::get('finance_enabled'))
|
||
{
|
||
$form->group('Account information');
|
||
|
||
$form->input('variable_symbol')
|
||
->label(__('Variable symbol').': '.help::hint('variable_symbol'))
|
||
->rules('length[1,10]')
|
||
->class('join1')
|
||
->callback('Variable_Symbols_Controller::valid_var_sym');
|
||
|
||
if (Variable_Key_Generator::get_active_driver())
|
||
{
|
||
$form->checkbox('variable_symbol_generate')
|
||
->label('Generate automatically')
|
||
->checked(TRUE)
|
||
->class('join2')
|
||
->style('width:auto;margin-left:5px');
|
||
}
|
||
else
|
||
{
|
||
$form->variable_symbol->rules('required|length[1,10]');
|
||
}
|
||
|
||
$form->input('entrance_fee')
|
||
->label(__('Entrance fee').': '.help::hint('entrance_fee'))
|
||
->rules('valid_numeric')
|
||
->value($entrance_fee);
|
||
|
||
$form->input('debt_payment_rate')
|
||
->label(
|
||
__('Monthly instalment of entrance').
|
||
': '.help::hint('entrance_fee_instalment')
|
||
)
|
||
->rules('valid_numeric')
|
||
->value($entrance_fee);
|
||
}
|
||
|
||
$form->group('Additional information');
|
||
|
||
$speed_class = new Speed_class_Model();
|
||
$speed_classes = array(NULL => '') + $speed_class->select_list();
|
||
$default_speed_class = $speed_class->get_members_default_class();
|
||
|
||
$form->dropdown('speed_class')
|
||
->options($speed_classes)
|
||
->selected($default_speed_class ? $default_speed_class->id : NULL)
|
||
->add_button('speed_classes')
|
||
->style('width:200px');
|
||
|
||
$form->date('birthday')
|
||
->label('Birthday')
|
||
->years(date('Y')-100, date('Y'))
|
||
->rules('required');
|
||
|
||
$form->date('entrance_date')
|
||
->label('Entrance date')
|
||
->years($entrace_start_year)
|
||
->rules('required')
|
||
->callback(array($this, 'valid_entrance_date'));
|
||
|
||
$form->textarea('comment')
|
||
->rules('length[0,250]');
|
||
|
||
$form->submit('Add');
|
||
|
||
// posted
|
||
if($form->validate())
|
||
{
|
||
$form_data = $form->as_array();
|
||
|
||
// gps
|
||
$gpsx = NULL;
|
||
$gpsy = NULL;
|
||
|
||
if (!empty($form_data['gpsx']) && !empty($form_data['gpsy']))
|
||
{
|
||
$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']);
|
||
}
|
||
}
|
||
|
||
// gps domicicle
|
||
$domicile_gpsx = NULL;
|
||
$domicile_gpsy = NULL;
|
||
|
||
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']);
|
||
|
||
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsx']))
|
||
{
|
||
$domicile_gpsx = gps::degrees2real($form_data['domicile_gpsx']);
|
||
}
|
||
|
||
if (gps::is_valid_degrees_coordinate($form_data['domicile_gpsy']))
|
||
{
|
||
$domicile_gpsy = gps::degrees2real($form_data['domicile_gpsy']);
|
||
}
|
||
}
|
||
|
||
$member = new Member_Model();
|
||
|
||
try
|
||
{
|
||
//$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();
|
||
|
||
$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 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();
|
||
}
|
||
|
||
$member->address_point_id = $address_point->id;
|
||
|
||
$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'];
|
||
}
|
||
|
||
$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['membername'] == '')
|
||
{
|
||
$member->name = $form_data['name'].' '.$form_data['surname'];
|
||
}
|
||
else
|
||
{
|
||
$member->name = $form_data['membername'];
|
||
}
|
||
|
||
$member->type = $form_data['type'];
|
||
|
||
// access control
|
||
if ($this->acl_check_new('Members_Controller', 'organization_id'))
|
||
{
|
||
$member->organization_identifier = $form_data['organization_identifier'];
|
||
}
|
||
|
||
// access control
|
||
if ($this->acl_check_new('Members_Controller', 'vat_organization_identifier'))
|
||
{
|
||
$member->vat_organization_identifier = $form_data['vat_organization_identifier'];
|
||
}
|
||
|
||
$member->speed_class_id = $form_data['speed_class'];
|
||
|
||
if (Settings::get('finance_enabled'))
|
||
{
|
||
$member->entrance_fee = $form_data['entrance_fee'];
|
||
$member->debt_payment_rate = $form_data['debt_payment_rate'];
|
||
}
|
||
|
||
if ($member->type == Member_Model::TYPE_APPLICANT)
|
||
{
|
||
$member->entrance_date = NULL;
|
||
}
|
||
else
|
||
{
|
||
$member->entrance_date = date('Y-m-d', $form_data['entrance_date']);
|
||
}
|
||
|
||
// saving member
|
||
$member->save_throwable();
|
||
|
||
// saving user
|
||
$user->member_id = $member->id;
|
||
$user->save_throwable();
|
||
|
||
// telephone
|
||
$contact_model = new Contact_Model();
|
||
|
||
// search for contacts
|
||
$contact_id = $contact_model->find_contact_id(
|
||
Contact_Model::TYPE_PHONE, $form_data['phone']
|
||
);
|
||
|
||
if ($contact_id)
|
||
{
|
||
$contact_model = ORM::factory('contact', $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);
|
||
|
||
$phone_country = new Country_Model($form_data['phone_prefix']);
|
||
$contact_model->add($phone_country);
|
||
|
||
$contact_model->save_throwable();
|
||
}
|
||
|
||
$contact_model->clear();
|
||
|
||
// email
|
||
if (! empty($form_data['email']))
|
||
{
|
||
$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();
|
||
}
|
||
|
||
// saving account
|
||
$account->member_id = $member->id;
|
||
$account->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 (empty($var_sym))
|
||
{
|
||
throw new Exception(__('Empty variable symbol.'));
|
||
}
|
||
|
||
$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();
|
||
}
|
||
|
||
// 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 of connecting place is different than address of domicile
|
||
if ($form_data['use_domicile'])
|
||
{
|
||
$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();
|
||
}
|
||
|
||
// 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();
|
||
}
|
||
// 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();
|
||
|
||
// reset post
|
||
unset($form_data);
|
||
|
||
// 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.');
|
||
|
||
// 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');
|
||
}
|
||
}
|
||
else
|
||
{
|
||
$headline = __('Add new member');
|
||
|
||
// breadcrumbs navigation
|
||
$breadcrumbs = breadcrumbs::add()
|
||
->link('members/show_all', 'Members',
|
||
$this->acl_check_view(get_class($this),'members'))
|
||
->disable_translation()
|
||
->text($headline);
|
||
|
||
// view
|
||
$view = new View('main');
|
||
$view->breadcrumbs = $breadcrumbs->html();
|
||
$view->title = $headline;
|
||
$view->content = new View('form');
|
||
$view->content->headline = $headline;
|
||
$view->content->form = $form->html();
|
||
$view->content->link_back = '';
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
} // end of add function
|
||
|
||
/**
|
||
* Form for editing member.
|
||
*
|
||
* @param integer $member_id id of member to edit
|
||
*/
|
||
public -->
|
||
<axo section="Members_Controller" value="organization_id" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="vat_organization_identifier" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="organization_id" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="vat_organization_identifier" action="new" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="edit">
|
||
<!-- edit($member_id = NULL)
|
||
{
|
||
... | ... | |
->style('width:200px');
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this), 'organization_id', $member->id))
|
||
// access control
|
||
if ($this->acl_check_edit('Members_Controller', 'organization_id', $member->id))
|
||
{
|
||
$form->input('organization_identifier')
|
||
->rules('length[3,20]')
|
||
->value($member->organization_identifier);
|
||
}
|
||
|
||
// access control
|
||
if ($this->acl_check_edit('Members_Controller', 'vat_organization_identifier', $member->id))
|
||
{
|
||
$form->input('vat_organization_identifier')
|
||
->rules('length[3,20]')
|
||
->value($member->vat_organization_identifier);
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this), 'address', $member->id))
|
||
{
|
||
... | ... | |
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'type',$member->id) &&
|
||
$member->type != Member_Model::TYPE_APPLICANT)
|
||
$member->type != Member_Model::TYPE_APPLICANT &&
|
||
$form_data['type'] != Member_Model::TYPE_APPLICANT)
|
||
{
|
||
$member->type = $form_data['type'];
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this), 'organization_id', $member->id))
|
||
// access control
|
||
if ($this->acl_check_edit('Members_Controller', 'organization_id', $member->id))
|
||
{
|
||
$member->organization_identifier = $form_data['organization_identifier'];
|
||
}
|
||
|
||
// access control
|
||
if ($this->acl_check_edit('Members_Controller', 'vat_organization_identifier', $member->id))
|
||
{
|
||
$member->vat_organization_identifier = $form_data['vat_organization_identifier'];
|
||
}
|
||
|
||
if ($this->acl_check_edit(get_class($this),'locked',$member->id) &&
|
||
$member->id != Member_Model::ASSOCIATION)
|
||
{
|
||
... | ... | |
*
|
||
*/
|
||
public -->
|
||
<axo section="Members_Controller" value="organization_id" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="vat_organization_identifier" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="registration" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="user_id" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="organization_id" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="vat_organization_identifier" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="registration" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="user_id" action="edit" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
... | ... | |
Controller::error(RECORD);
|
||
|
||
// access rights
|
||
if (!$this->acl_check_view('Members_whitelists_controller', 'whitelist', $member->id))
|
||
if (!$this->acl_check_view('Members_whitelists_Controller', 'whitelist', $member->id))
|
||
Controller::error(ACCESS);
|
||
|
||
// load members
|
||
... | ... | |
'use_selector' => false,
|
||
));
|
||
|
||
if ($this->acl_check_new('Members_whitelists_controller', 'whitelist', $member->id))
|
||
if ($this->acl_check_new('Members_whitelists_Controller', 'whitelist', $member->id))
|
||
{
|
||
$grid->add_new_button(
|
||
'members_whitelists/add/' . $member->id,
|
||
... | ... | |
|
||
$actions = $grid->grouped_action_field();
|
||
|
||
if ($this->acl_check_edit('Members_whitelists_controller', 'whitelist'))
|
||
if ($this->acl_check_edit('Members_whitelists_Controller', 'whitelist'))
|
||
{
|
||
$actions->add_action()
|
||
->icon_action('edit')
|
||
... | ... | |
->class('popup_link');
|
||
}
|
||
|
||
if ($this->acl_check_delete('Members_whitelists_controller', 'whitelist'))
|
||
if ($this->acl_check_delete('Members_whitelists_Controller', 'whitelist'))
|
||
{
|
||
$actions->add_action()
|
||
->icon_action('delete')
|
||
... | ... | |
* @param integer $member_id id of member to add new whitelist
|
||
*/
|
||
public -->
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="new" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="delete" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="new" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="delete" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="true" usage_type="unknown"></axo>
|
||
</method>
|
||
... | ... | |
Controller::error(RECORD);
|
||
|
||
// access control
|
||
if (!$this->acl_check_new('Members_whitelists_controller', 'whitelist', $member->id))
|
||
if (!$this->acl_check_new('Members_whitelists_Controller', 'whitelist', $member->id))
|
||
Controller::Error(ACCESS);
|
||
|
||
// saving id for callback function
|
||
... | ... | |
->enable_translation()
|
||
->link('members_whitelists/show_by_member/'.$member_id, 'Whitelists',
|
||
$this->acl_check_view(
|
||
'Members_whitelists_controller', 'whitelist', $member->id
|
||
'Members_whitelists_Controller', 'whitelist', $member->id
|
||
)
|
||
)
|
||
->disable_translation()
|
||
... | ... | |
* @param integer $members_whitelist_id
|
||
*/
|
||
public -->
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="new" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="new" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="edit">
|
||
<!-- edit($members_whitelist_id = NULL)
|
||
... | ... | |
Controller::error(RECORD);
|
||
|
||
// access control
|
||
if (!$this->acl_check_edit('Members_whitelists_controller', 'whitelist', $mw->id))
|
||
if (!$this->acl_check_edit('Members_whitelists_Controller', 'whitelist', $mw->id))
|
||
Controller::Error(ACCESS);
|
||
|
||
// saving id for callback function
|
||
... | ... | |
->enable_translation()
|
||
->link('members_whitelists/show_by_member/'.$mw->member_id, 'Whitelists',
|
||
$this->acl_check_view(
|
||
'Members_whitelists_controller', 'whitelist', $mw->member_id
|
||
'Members_whitelists_Controller', 'whitelist', $mw->member_id
|
||
)
|
||
)
|
||
->disable_translation()
|
||
... | ... | |
* @param integer $member_whitelist_id
|
||
*/
|
||
public -->
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="edit" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Members_Controller" value="members" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelists_Controller" value="whitelist" action="view" own="true" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="delete">
|
||
<!-- delete($member_whitelist_id = NULL)
|
||
... | ... | |
$mid = $mw->member_id;
|
||
|
||
// access control
|
||
if (!$this->acl_check_delete('Members_whitelist_controller', 'whitelist', $mid))
|
||
if (!$this->acl_check_delete('Members_whitelist_Controller', 'whitelist', $mid))
|
||
Controller::Error(ACCESS);
|
||
|
||
// success
|
||
... | ... | |
* @param Form_Input $input
|
||
*/
|
||
public -->
|
||
<axo section="Members_whitelist_controller" value="whitelist" action="delete" own="true" usage_type="unknown"></axo>
|
||
<axo section="Members_whitelist_Controller" value="whitelist" action="delete" own="true" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="valid_whitelist_interval"></method>
|
||
</object>
|
||
... | ... | |
|
||
$actions = $grid->grouped_action_field();
|
||
|
||
if ($this->acl_check_view('Messages_Controller', 'message'))
|
||
{
|
||
$actions->add_conditional_action()
|
||
->condition('is_activatable_directlty')
|
||
->icon_action('show')
|
||
->url('messages/show');
|
||
}
|
||
|
||
if ($this->acl_check_edit('Messages_Controller', 'message'))
|
||
{
|
||
$actions->add_conditional_action()
|
||
... | ... | |
<axo section="Messages_Controller" value="preview" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="activate" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="deactivate" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="message" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="message" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="message" action="delete" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
... | ... | |
Log::add_exception($e);
|
||
}
|
||
|
||
url::redirect('messages/show_all');
|
||
$this->redirect('messages/show_all');
|
||
}
|
||
else
|
||
{
|
||
... | ... | |
$view->render(TRUE);
|
||
}
|
||
} // end of add
|
||
|
||
/**
|
||
* Shows notification message details
|
||
*
|
||
* @param integer $message_id
|
||
*/
|
||
public -->
|
||
<axo section="Messages_Controller" value="message" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="message" action="view" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="show">
|
||
<!-- show($message_id = NULL)
|
||
{
|
||
if (!$this->acl_check_new('Messages_Controller', 'message'))
|
||
Controller::error(ACCESS);
|
||
|
||
if (!isset($message_id))
|
||
Controller::warning(PARAMETER);
|
||
|
||
$message = new Message_Model($message_id);
|
||
|
||
// record doesn't exist
|
||
if (!$message->id)
|
||
Controller::error(RECORD);
|
||
|
||
if (($message->id == Message_Model::PAYMENT_NOTICE_MESSAGE ||
|
||
$message->id == Message_Model::DEBTOR_MESSAGE ||
|
||
$message->id == Message_Model::RECEIVED_PAYMENT_NOTICE_MESSAGE) && !Settings::get('finance_enabled'))
|
||
{
|
||
Controller::error(ACCESS);
|
||
}
|
||
|
||
$headline = __('Show notification message');
|
||
|
||
$breadcrumbs = breadcrumbs::add()
|
||
->link('messages/show_all', 'Messages',
|
||
$this->acl_check_view(
|
||
'Messages_Controller', 'message'
|
||
)
|
||
);
|
||
|
||
if ($message->type > 0)
|
||
{
|
||
$breadcrumbs->text($message->name);
|
||
}
|
||
else
|
||
{
|
||
$breadcrumbs
|
||
->disable_translation()
|
||
->text($message->name . ' (' . $message->id . ')');
|
||
}
|
||
|
||
$view = new View('main');
|
||
$view->title = $headline;
|
||
$view->breadcrumbs = $breadcrumbs->html();
|
||
$view->content = new View('messages/show');
|
||
$view->content->headline = $headline;
|
||
$view->content->message = $message;
|
||
$view->render(TRUE);
|
||
}
|
||
|
||
/**
|
||
* Edits message parameters.
|
||
*
|
||
... | ... | |
$breadcrumbs = breadcrumbs::add()
|
||
->link('messages/show_all', 'Messages',
|
||
$this->acl_check_view(
|
||
'Messages_Controller', 'messages'
|
||
'Messages_Controller', 'message'
|
||
)
|
||
);
|
||
|
||
... | ... | |
*/
|
||
public -->
|
||
<axo section="Messages_Controller" value="message" action="edit" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="messages" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Messages_Controller" value="message" action="view" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="activate">
|
||
<!-- activate($message_id = NULL)
|
||
... | ... | |
<method name="member">
|
||
<!-- member($member_id = NULL)
|
||
{
|
||
// add TinyMCE init to page
|
||
TextEditor::$instance_counter++;
|
||
|
||
// bad parameter
|
||
if (!$member_id || !is_numeric($member_id))
|
||
Controller::warning(PARAMETER);
|
||
... | ... | |
$form->dropdown('message_id')
|
||
->label('Message')
|
||
->options($arr_messages)
|
||
->rules('required');
|
||
->rules('required')
|
||
->add_button('messages');
|
||
|
||
$form->textarea('comment');
|
||
|
||
... | ... | |
<method name="members">
|
||
<!-- members($message_id = NULL)
|
||
{
|
||
// add TinyMCE init to page
|
||
TextEditor::$instance_counter++;
|
||
|
||
$headline = __('Notification setting of members');
|
||
|
||
if (!$this->acl_check_new('Notifications_Controller', 'members'))
|
||
... | ... | |
$form->dropdown('message_id')
|
||
->label('Message')
|
||
->options($arr_messages)
|
||
->rules('required');
|
||
->rules('required')
|
||
->add_button('messages');
|
||
|
||
$form->submit('Next step');
|
||
|
||
... | ... | |
<method name="subnet">
|
||
<!-- subnet($subnet_id = NULL, $message_id = NULL)
|
||
{
|
||
// add TinyMCE init to page
|
||
TextEditor::$instance_counter++;
|
||
|
||
// access control
|
||
if (!Settings::get('networks_enabled'))
|
||
Controller::error (ACCESS);
|
||
... | ... | |
$form->dropdown('message_id')
|
||
->label('Message')
|
||
->options($arr_messages)
|
||
->rules('required');
|
||
->rules('required')
|
||
->add_button('messages');
|
||
|
||
$form->submit('Next step');
|
||
|
||
... | ... | |
|
||
$breadcrumbs = breadcrumbs::add()
|
||
->link('subnets/show_all', __('Subnets'),
|
||
$this->acl_check_view('Devices_Controller','subnet'))
|
||
$this->acl_check_view('Subnets_Controller','subnet'))
|
||
->disable_translation()
|
||
->link('subnets/show/'.$subnet->id, $subnet_text,
|
||
$this->acl_check_view('Devices_Controller','subnet'))
|
||
$this->acl_check_view('Subnets_Controller','subnet'))
|
||
->enable_translation()
|
||
->text('Notification setting')
|
||
->html();
|
||
... | ... | |
*/
|
||
public -->
|
||
<axo section="Notifications_Controller" value="subnet" action="new" own="false" usage_type="unknown"></axo>
|
||
<axo section="Subnets_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Subnets_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Devices_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Devices_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Devices_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
<axo section="Devices_Controller" value="subnet" action="view" own="false" usage_type="unknown"></axo>
|
||
</method>
|
||
<method name="cloud">
|
||
<!-- cloud($cloud_id = NULL, $message_id = NULL)
|
||
{
|
||
// add TinyMCE init to page
|
||
TextEditor::$instance_counter++;
|
||
|
||
// bad parameter
|
||
if (!$cloud_id || !is_numeric($cloud_id))
|
||
Controller::warning(PARAMETER);
|
||
... | ... | |
$form->dropdown('message_id')
|
||
->label('Message')
|
||
->options($arr_messages)
|
||
->rules('required');
|
||
->rules('required')
|
||
->add_button('messages');
|
||
|
||
$form->submit('Next step');
|
||
|
||
... | ... | |
|
||
$form->dropdown('parser')
|
||
->label('Parser:')
|
||
->options(self::$PARSERS)
|
||
->options(Parser_Phone_Invoice::get_parsers_for_dropdown())
|
||
->rules('required');
|
||
|
||
$form->textarea('parse')
|
||
->label(__('Text to parse') . ':')
|
||
->rules('required');
|
||
->label('Text to parse');
|
||
|
||
// directory is writable
|
||
if (is_writable('upload'))
|
||
{
|
||
$form->upload('file')
|
||
->label('Phone invoice file')
|
||
->rules('allow[xml]')
|
||
->new_name('phone_invoice.xml');
|
||
}
|
||
|
||
$form->checkbox('test_number_count_enabled')
|
||
->checked(TRUE)
|
||
->value('1')
|
||
->label(__('Enable integrity test (all numbers in invoice has ' .
|
||
'to be in extended statement)'
|
||
));
|
||
->label('Enable integrity test (all numbers in invoice has ' .
|
||
'to be in extended statement)');
|
||
|
||
$form->submit('Parse')->id('phone_invoices_sumit');
|
||
|
||
if ($form->validate())
|
||
{
|
||
try
|
||
$types = Parser_Phone_Invoice::get_parser_input_types();
|
||
|
||
if ($types[$form->parser->value] == Parser_Phone_Invoice::TYPE_UPLOAD &&
|
||
!($form->file->value))
|
||
{
|
||
$phone_invoice = new Phone_invoice_Model();
|
||
$phone_invoice->transaction_start();
|
||
|
||
$integrity_test = ($form->test_number_count_enabled->value == '1');
|
||
|
||
if ($form->parser->value == 1)
|
||
$form->file->add_error('requied', __('This information is required'));
|
||
}
|
||
else if ($types[$form->parser->value] == Parser_Phone_Invoice::TYPE_TEXTAREA &&
|
||
!($form->parse->value))
|
||
{
|
||
$form->parse->add_error('requied', __('This information is required'));
|
||
}
|
||
else
|
||
{
|
||
try
|
||
{
|
||
$data = Parser_Phone_Invoice_Vodafone::parse($form->parse->value, $integrity_test);
|
||
$phone_invoice = new Phone_invoice_Model();
|
||
$phone_invoice->transaction_start();
|
||
|
||
$integrity_test = ($form->test_number_count_enabled->value == '1');
|
||
|
||
$parser = Parser_Phone_Invoice::factory($form->parser->value);
|
||
|
||
if ($types[$form->parser->value] == Parser_Phone_Invoice::TYPE_UPLOAD)
|
||
{
|
||
$data = $parser->parse(
|
||
file_get_contents($form->file->value),
|
||
$integrity_test
|
||
);
|
||
|
||
// delete uploaded file after parsing
|
||
unlink($form->file->value);
|
||
}
|
||
else
|
||
{
|
||
$data = $parser->parse($form->parse->value, $integrity_test);
|
||
}
|
||
|
||
$phone_invoice->set_logger(FALSE);
|
||
$phone_invoice->date_of_issuance = $data->date_of_issuance->format('Y-m-d');
|
||
$phone_invoice->billing_period_from = $data->billing_period_from->format('Y-m-d');
|
||
$phone_invoice->billing_period_to = $data->billing_period_to->format('Y-m-d');
|
||
$phone_invoice->variable_symbol = $data->variable_symbol;
|
||
$phone_invoice->specific_symbol = $data->specific_symbol;
|
||
$phone_invoice->total_price = $data->total_price;
|
||
$phone_invoice->tax = $data->dph;
|
||
$phone_invoice->tax_rate = $data->dph_rate;
|
||
|
||
// search if invoice is already in database
|
||
if (!$phone_invoice->is_unique())
|
||
{
|
||
throw new Exception(__('Invoice is already in database'));
|
||
}
|
||
|
||
self::_set_invoice_data($data, $phone_invoice);
|
||
|
||
// redirect to edit
|
||
$phone_invoice->transaction_commit();
|
||
url::redirect('/phone_invoices/show/' . $phone_invoice->id . '/');
|
||
}
|
||
else
|
||
catch (Exception $e)
|
||
{
|
||
$data = Parser_Phone_Invoice_Vodafone2::parse($form->parse->value, $integrity_test);
|
||
}
|
||
$phone_invoice->transaction_rollback();
|
||
|
||
Log::add_exception($e);
|
||
|
||
$phone_invoice->set_logger(FALSE);
|
||
$phone_invoice->date_of_issuance = $data->date_of_issuance->format('Y-m-d');
|
||
$phone_invoice->billing_period_from = $data->billing_period_from->format('Y-m-d');
|
||
$phone_invoice->billing_period_to = $data->billing_period_to->format('Y-m-d');
|
||
$phone_invoice->variable_symbol = $data->variable_symbol;
|
||
$phone_invoice->specific_symbol = $data->specific_symbol;
|
||
$phone_invoice->total_price = $data->total_price;
|
||
$phone_invoice->tax = $data->dph;
|
||
$phone_invoice->tax_rate = $data->dph_rate;
|
||
|
||
// search if invoice is already in database
|
||
if (!$phone_invoice->is_unique())
|
||
{
|
||
throw new Exception(__('Invoice is already in database'));
|
||
status::error(nl2br($e->getMessage()), $e, FALSE);
|
||
}
|
||
|
||
self::_set_invoice_data($data, $phone_invoice);
|
||
|
||
// redirect to edit
|
||
$phone_invoice->transaction_commit();
|
||
url::redirect('/phone_invoices/show/' . $phone_invoice->id . '/');
|
||
}
|
||
catch (Exception $e)
|
||
|
||
if (file_exists($form->file->value))
|
||
{
|
||
$phone_invoice->transaction_rollback();
|
||
Log::add_exception($e);
|
||
$form->parse->add_error('requied', nl2br($e->getMessage()));
|
||
unlink($form->file->value);
|
||
}
|
||
}
|
||
|
||
... | ... | |
->label('DHCP')
|
||
->values(arr::bool());
|
||
|
||
$filter_form->add('dns')
|
||
->type('select')
|
||
->label('DNS')
|
||
->values(arr::bool());
|
||
|
||
$filter_form->add('qos')
|
||
->type('select')
|
||
->label('QoS')
|
||
... | ... | |
->label(__('Owner').' '.help::hint('subnet_owner'))
|
||
->callback('callback::member_field');
|
||
|
||
// access control
|
||
if ($this->acl_check_view('Subnets_Controller', 'redirect'))
|
||
{
|
||
$grid->order_field('redirect')
|
||
... | ... | |
->class('center');
|
||
}
|
||
|
||
$grid->order_callback_field('dhcp')
|
||
->label(__('DHCP'))
|
||
->callback('callback::boolean')
|
||
->class('center')
|
||
->help(help::hint('subnet_dhcp'));
|
||
// access control
|
||
if ($this->acl_check_view('Subnets_Controller', 'dhcp'))
|
||
{
|
||
$grid->order_callback_field('dhcp')
|
||
->label(__('DHCP'))
|
||
->callback('callback::boolean')
|
||
->class('center')
|
||
->help(help::hint('subnet_dhcp'));
|
||
}
|
||
|
||
$grid->order_callback_field('qos')
|
||
->label(__('QoS'))
|
||
->callback('callback::boolean')
|
Také k dispozici: Unified diff
Opravy:
- vyhledavani AXO volani pomoci skriptu i v podslozkach
- vyhledavani AXO volani v pohledech