if ($object == 'users') {
     foreach ($data as $user) {
         if (!empty($user['user_id'])) {
             if ($_REQUEST['action'] == 'update') {
                 $result = false;
                 $user_data = db_get_row("SELECT * FROM ?:users WHERE user_id = ?i", $user['user_id']);
                 $notify_user = !empty($user['notify_updated_user']) && $user['notify_updated_user'] == 'Y' ? true : false;
                 if (!empty($user['status']) && !$user['is_complete_data']) {
                     $result = db_query("UPDATE ?:users SET status = ?s WHERE user_id = ?i", $user['status'], $user['user_id']);
                     $force_notification = fn_get_notification_rules(array('notify_user' => $noify_user));
                     if (!empty($force_notification['C']) && $user['status'] == 'A' && $user_data['status'] == 'D') {
                         Mailer::sendMail(array('to' => $user_data['email'], 'from' => 'company_users_department', 'data' => array('user_data' => $user_data), 'tpl' => 'profiles/profile_activated.tpl', 'company_id' => $user_data['company_id']), fn_check_user_type_admin_area($user_data['user_type']) ? 'A' : 'C', $user_data['lang_code']);
                     }
                 }
                 $temp_auth = null;
                 $result = fn_twg_api_update_user($user, $temp_auth, $notify_user);
                 if (!$result) {
                     $msg = str_replace('[object_id]', $user['user_id'], __('twgadmin_wrong_api_object_data'));
                     $response->addError('ERROR_OBJECT_UPDATE', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data')));
                 }
             } elseif ($_REQUEST['action'] == 'delete') {
                 if (!fn_delete_user($user['user_id'])) {
                     $msg = str_replace('[object_id]', $user['user_id'], __('twgadmin_wrong_api_object_data'));
                     $response->addError('ERROR_OBJECT_DELETE', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data')));
                 }
             }
         } else {
             $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', 'users', __('twgadmin_wrong_api_object_data')));
         }
     }
 }
Exemple #2
0
function fn_twg_api_process_user_data($user, $response, $lang_code = CART_LANGUAGE)
{
    $user = fn_twg_parse_api_object($user, 'users');
    $_auth =& $_SESSION['auth'];
    if (!empty($user['user_id']) && $user['user_id'] != $_auth['user_id']) {
        $response->addError('ERROR_ACCESS_DENIED', __('access_denied', $lang_code));
        $response->returnResponse();
    }
    if (empty($user['user_id'])) {
        $user['user_id'] = !empty($_auth['user_id']) ? $_auth['user_id'] : 0;
    }
    if (empty($user['user_id']) && !empty($user['password_hash'])) {
        $user['password1'] = 'tmp';
        $user['password2'] = 'tmp';
    }
    $result = fn_twg_api_update_user($user, $_auth);
    if (!$result) {
        if (!fn_twg_set_internal_errors($response, 'ERROR_FAIL_CREATE_USER')) {
            $response->addError('ERROR_FAIL_CREATE_USER', __('fail_create_user', $lang_code));
        }
        $response->returnResponse();
    }
    $_SESSION['cart']['user_data'] = fn_get_user_info($_auth['user_id']);
    if (!empty($user['password_hash'])) {
        db_query("UPDATE ?:users SET password = ?s WHERE user_id = ?i", $user['password_hash'], $_auth['user_id']);
    }
}