if (ForceRequest::isForcedRequest()) {
    /* Send only one POST request */
    $wsName = ForceRequest::getWsName();
    $dateFrom = ForceRequest::getDateFrom() . " " . ForceRequest::getTimeFrom();
    $dateFrom = date::dateTimeFr2DateTimeBdd($dateFrom);
    $dateTo = ForceRequest::getDateTo() . " " . ForceRequest::getTimeTo();
    $dateTo = date::dateTimeFr2DateTimeBdd($dateTo);
    doPostSynch($wsName, $dateFrom, $dateTo);
} else {
    /* Send all POST requests in function of the scheduler permissions */
    $wSOList = Scheduler::getWsNamePostList();
    foreach ($wSOList as $wsName) {
        $dateFrom = $wSOInfosList[$CONF_LastrequestLbl . $wsName];
        $dateFrom = DATE::timestamp2DateTimeBdd($dateFrom);
        $dateTo = Scheduler::getTimeOnInit();
        $dateTo = DATE::timestamp2DateTimeBdd($dateTo);
        doPostSynch($wsName, $dateFrom, $dateTo);
    }
}
/* POST synchronisations */
function doPostSynch($wsName, $dateFrom, $dateTo)
{
    global $dao, $postOSIReq, $CONF_LastrequestLbl, $isOkResponses, $nbChildrenProducts, $nbResponse200, $nbResponseError, $nbResponse409, $nbNoReference;
    /* Check if allow to get this request */
    $isAllow = Scheduler::isAllowedToRequest($wsName);
    if (!ForceRequest::isForcedRequest() && !$isAllow) {
        return;
    }
    switch ($wsName) {
        /*
         * WSO-P005
Пример #2
0
 public function action_edit()
 {
     $company = ORM::factory('service', $this->request->param('id', NULL));
     if (!$company->loaded() or $company->user_id != $this->user->id) {
         $this->request->redirect('cabinet/company');
     }
     $this->values = $company->as_array();
     $work_category = ORM::factory('workcategory');
     $cars = ORM::factory('car_brand')->get_cars_as_array();
     $discounts = ORM::factory('discount')->get_all_as_array();
     $org_types = ORM::factory('orgtype')->get_all_as_array();
     $groups = ORM::factory('group')->get_groups_as_array();
     $groups = array(0 => 'Выберите категорию') + $groups;
     $options_sub_group = array();
     $type = 0;
     if ($_POST) {
         try {
             $extra_validation = Validation::factory($_POST);
             if (isset($_POST['sub_group_id'])) {
                 $extra_validation->rule('sub_group_id', 'Model_Group::check_valid_group', array(':value'));
                 $group_id = Arr::get($_POST, 'sub_group_id', NULL);
             } else {
                 $extra_validation->rule('group_id', 'Model_Group::check_valid_group', array(':value'));
                 $group_id = Arr::get($_POST, 'group_id', NULL);
             }
             $extra_validation->rule('city_name', 'not_empty')->rule('city_name', 'Model_Service::check_valid_city', array(':value'));
             $company->values($_POST, array('name', 'org_type', 'inn', 'director_name', 'contact_person', 'address', 'phone', 'code', 'fax', 'site', 'about', 'work_times', 'discount_id', 'coupon_text', 'ymap_lng', 'ymap_lat'));
             $company->user_id = $this->user->id;
             $company->group_id = $group_id;
             $company->city_id = ORM::factory('service')->get_id_city(Arr::get($_POST, 'city_name', NULL));
             $company->metro_id = Arr::get($_POST, 'metro_id', NULL);
             $company->district_id = Arr::get($_POST, 'district_id', NULL);
             $company->active = 1;
             $company->date_create = DATE::formatted_time();
             $company->date_edited = Date::formatted_time();
             $company->save($extra_validation);
             $cars_input = Arr::get($_POST, 'model', array());
             foreach ($cars_input as $c) {
                 $company->add('cars', $c);
             }
             $works_input = Arr::get($_POST, 'work', array());
             foreach ($works_input as $w) {
                 $company->add('works', $w);
             }
             Logger::write(Logger::EDIT, 'Пользователь отредактировал данные компании ' . $company->name, $this->user);
             Message::set(Message::SUCCESS, 'Фирма успешно отредактирована!');
             $this->request->redirect('cabinet/company');
         } catch (ORM_Validation_Exception $e) {
             $errors = $e->errors('models');
             if (isset($errors['_external'])) {
                 foreach ($errors['_external'] as $key => $value) {
                     $errors[$key] = $value;
                 }
                 unset($errors['_external']);
             }
             if ($_POST['group_id'] != 0) {
                 $options_sub_group = ORM::factory('group')->get_sub_groups_for_one_group(Arr::get($_POST, 'group_id', NULL));
                 if (!empty($options_sub_group)) {
                     $options_sub_group = array(0 => "Выберите подкатегорию") + $options_sub_group;
                 }
                 $type = ORM::factory('group')->get_type_group(Arr::get($_POST, 'group_id', NULL));
             }
             $this->errors = $errors;
             $this->values = $_POST;
             $group_type = empty($this->values['group']) ? 0 : $this->values['group'];
         }
     } else {
         $this->values['city_name'] = $company->city->name;
         if ($company->group->parrent_id != 0) {
             $this->values['sub_group_id'] = $company->group->id;
             $par_group = ORM::factory('group', $company->group->parrent_id);
             $this->values['group_id'] = $par_group->id;
             $options_sub_group = ORM::factory('group')->get_sub_groups_for_one_group($par_group->id);
             if (!empty($options_sub_group)) {
                 $options_sub_group = array(0 => "Выберите подкатегорию") + $options_sub_group;
             }
         } else {
             $this->values['group_id'] = $company->group->id;
         }
         $type = ORM::factory('group')->get_type_group($this->values['group_id']);
         foreach ($company->works->find_all() as $w) {
             $this->values['work'][$w->id] = $w->id;
         }
         foreach ($company->cars->find_all() as $c) {
             $this->values['model'][] = $c->id;
         }
     }
     $this->view = View::factory('frontend/cabinet/company/form')->set('company', $company)->set('url', 'cabinet/company/edit/' . $company->id)->set('groups', $groups)->set('type', $type)->set('options_sub_group', $options_sub_group)->set('org_types', $org_types)->set('work_category', $work_category)->set('auto_models', $cars)->set('city', ORM::factory('city'))->set('discounts', $discounts)->set('values', $this->values)->set('errors', $this->errors);
     $this->add_js('http://api-maps.yandex.ru/1.1/index.xml?key=' . $this->settings['YMaps_key'] . '&onerror=map_alert');
     $this->template->title = 'Редактирование компании';
     $this->template->bc['#'] = 'Редактирование компании';
     $this->add_js('assets/js/script.js');
     $this->template->content = $this->view;
 }