public function updateCustomRecord($parameters)
 {
     Preference::setValue('marketPayPalDescriptionItemList', 12, $this->request->input('marketPayPalDescriptionItemList'));
     Preference::setValue('marketPayPalSuccessRoute', 12, $this->request->input('marketPayPalSuccessRoute'));
     Preference::setValue('marketPayPalErrorRoute', 12, $this->request->input('marketPayPalErrorRoute'));
     Preference::setValue('marketPayPalShippingDescription', 12, $this->request->input('marketPayPalShippingDescription'));
 }
Esempio n. 2
0
 public static function getValue($id, $package, $value = null)
 {
     $preference = Preference::where(['id_018' => $id, 'package_id_018' => $package])->first();
     if ($preference == null) {
         return Preference::setValue($id, $package, $value);
     } else {
         return $preference;
     }
 }
Esempio n. 3
0
 public static function checkVouchersToCreate()
 {
     $voucherTasks = VoucherTask::builder()->get();
     if (count($voucherTasks) > 0) {
         // block enter to routine just finish this loop
         $bookingVouchersBulkCreate = Preference::getValue('bookingVouchersBulkCreate', 11, '0');
         // Comprobación para casos de errores o caídas del servidor, y no dejen bloquedo el envío de emails a la cola de proceso
         // si en 10 minutos no se ha liberado la variable, damos por hecho que se ha bloqueado y la liberamos
         $update = \DateTime::createFromFormat('Y-m-d H:i:s', $bookingVouchersBulkCreate->updated_at);
         if ($bookingVouchersBulkCreate->value_018 == '1' && date('U') - $update->getTimestamp() > 600) {
             Preference::setValue('emailServiceSendingEmailsToQueue', 11, '0');
         }
         // en el caso que el estado de envio esté activo, eso siginifica que hay una petición trabajando y enviando
         // a la tabla de cola de envíos los contactos, cuando termine de hacerlo cambiaremos el estado de envío de emails
         // para poder aceptar más peticiones, de esa manera nos aseguramos que no hayan
         // varias peticiones concurrentes insertando mails.
         if ($bookingVouchersBulkCreate->value_018 == '1') {
             exit;
         } else {
             Preference::setValue('bookingVouchersBulkCreate', 11, '1');
         }
         $limitVouchers = (int) Preference::getValue('bookingNVouchersToCreate', 11)->value_018;
         $voucherTask = $voucherTasks->first();
         // set limit to create vouchers
         if ($voucherTask->vouchers_to_create_227 <= $limitVouchers) {
             $limit = $voucherTask->vouchers_to_create_227;
         } else {
             $limit = $limitVouchers;
         }
         $voucher = Voucher::builder()->find($voucherTask->voucher_id_227);
         $vouchers = [];
         for ($i = 0; $i < $limit; $i++) {
             $vouchers[] = ['date_226' => $voucher->date_226, 'date_text_226' => $voucher->date_text_226, 'code_prefix_226' => $voucher->code_prefix_226, 'campaign_id_226' => $voucher->campaign_id_226, 'customer_id_226' => $voucher->customer_id_226, 'customer_name_226' => $voucher->customer_name_226, 'bearer_226' => $voucher->bearer_226, 'invoice_id_226' => $voucher->invoice_id_226, 'invoice_code_226' => $voucher->invoice_code_226, 'invoice_customer_id_226' => $voucher->invoice_customer_id_226, 'invoice_customer_name_226' => $voucher->invoice_customer_name_226, 'product_id_226' => $voucher->product_id_226, 'name_226' => $voucher->name_226, 'description_226' => $voucher->description_226, 'price_226' => $voucher->price_226, 'expire_date_226' => $voucher->expire_date_226, 'expire_date_text_226' => $voucher->expire_date_text_226, 'active_226' => $voucher->active_226];
         }
         // insert n vouchers
         Voucher::insert($vouchers);
         if ($voucherTask->vouchers_to_create_227 <= $limitVouchers) {
             // get user to send email
             $user = $voucherTask->getUser;
             // destroy task
             VoucherTask::destroy($voucherTask->id_227);
             // send email to user
             $dataMessage = ['emailTo' => $user->email_010, 'nameTo' => $user->name_010 . ' ' . $user->surname_010, 'subject' => trans('booking::pulsar.bulk_vouchers_create', ['totalVouchers' => $voucherTask->total_vouchers_227, 'id' => $voucherTask->id_227]), 'totalVouchers' => $voucherTask->total_vouchers_227, 'voucher' => $voucher];
             Mail::send('booking::emails.bulk_vouchers_notification', $dataMessage, function ($m) use($dataMessage) {
                 $m->to($dataMessage['emailTo'], $dataMessage['nameTo'])->subject($dataMessage['subject']);
             });
         } else {
             VoucherTask::where('id_227', $voucherTask->id_227)->update(['vouchers_to_create_227' => $voucherTask->vouchers_to_create_227 - $limit]);
         }
         // unblock loop
         Preference::setValue('bookingVouchersBulkCreate', 11, '0');
     }
 }
 public function updateCustomRecord($parameters)
 {
     Preference::setValue('emailServiceIntervalShipping', 5, $this->request->input('intervalShipping'));
     Preference::setValue('emailServiceTestGroup', 5, $this->request->input('testGroup'));
     Preference::setValue('emailServiceIntervalProcess', 5, $this->request->input('intervalProcess'));
 }
Esempio n. 5
0
 /**
  *  Función que compruba si hay emails en las cuentas de correo que no hayan sido comprobados
  */
 public static function checkBouncedEmailsAccounts()
 {
     $emailStatusBouncedMessagesFromAccount = Preference::getValue('emailStatusBouncedMessagesFromAccount', 5, '0');
     // Comprobación para casos de errores o caídas del servidor, y no dejen bloquedo la comprobación de emails
     // si en 5 minutos no se ha liberado la variable, damos por hecho que se ha bloqueado y la liberamos
     $update = \DateTime::createFromFormat('Y-m-d H:i:s', $emailStatusBouncedMessagesFromAccount->updated_at);
     if ($emailStatusBouncedMessagesFromAccount->value_018 == '1' && date('U') - $update->getTimestamp() > 300) {
         Preference::setValue('emailStatusBouncedMessagesFromAccount', 5, '0');
     }
     // en el caso que el estado de envio esté activo, eso siginifica que hay una petición trabajando
     // cuando termine de hacerlo cambiaremos el estado de de comprobación de correos
     // para poder aceptar más peticiones, de esa manera nos aseguramos que no hayan
     // varias peticiones concurrentes comprobando mails.
     if ($emailStatusBouncedMessagesFromAccount->value_018 === '1') {
         //            todo, si devuelvo un json, al ejecutar el cron manualmente, no da ningún error, habría que filtrarlo
         //            return response()->json([
         //                'success'   => false,
         //                'message'   => 'at this moment, there is a process running'
         //            ]);
         exit;
     } else {
         Preference::setValue('emailStatusBouncedMessagesFromAccount', 5, '1');
     }
     // una vez comprobado que no hay mas procesos en ejecución, comenzamos a trabajar
     $accounts = EmailAccount::all();
     $patterns = EmailPattern::all();
     foreach ($accounts as $account) {
         $imapService = new ImapServices(['host' => $account->incoming_server_013, 'port' => $account->incoming_port_013, 'user' => $account->incoming_user_013, 'password' => Crypt::decrypt($account->incoming_pass_013), 'ssl' => $account->incoming_secure_013 == 'ssl' ? true : false]);
         // get total messages
         $nEmails = $imapService->getServer()->numMessages();
         // update n emails on account
         EmailAccount::builder()->where('id_013', $account->id_013)->update(['n_emails_013' => $nEmails]);
         // Get the last UID from email account
         if ($nEmails > 0) {
             $lastUidMessage = $imapService->getServer()->getUidByPositon($nEmails);
             // If the UID is grater than last UID manage, has to check account queue
             if ($lastUidMessage > $account->last_check_uid_013) {
                 //obtenemos la posición del siguiente mensaje sin chequear
                 $lastUidCheck = $account->last_check_uid_013;
                 $position = 0;
                 $i = 0;
                 // cuando obtengamos la posición del mensaje, será mayor que 0 y saldrá del bucle
                 // y si hemos hecho tantas o mas comprobaciones como emails hay, salimos del bucle
                 // sentencia para asegurarnos que no entramos en bucle infinito
                 while ($position < 1 && $i < $nEmails) {
                     // intentamos averiguar la posición del siguiente mensaje al último comprobado
                     $lastUidCheck++;
                     // si este UID no existe devolverá posición 0
                     $position = $imapService->getServer()->getPositonByUid($lastUidCheck);
                     // sumamos una vuelta para no entrar en bucle infinito
                     $i++;
                 }
                 // llamamos a la funcion que compruebe los correos es esa cuenta
                 Cron::checkBouncedMessagesFromAccount($imapService, $account, $patterns, $position - 1);
                 // solo comprobamo una cuenta
                 //break;
             }
         }
         // after check bounced messages or if there are not emails, close IMAP connection
         $imapService->getServer()->close();
         // if is the last email account, we freed the proccess
         if ($accounts->last()->id_013 == $account->id_013) {
             Preference::setValue('emailStatusBouncedMessagesFromAccount', 5, '0');
         }
     }
 }
Esempio n. 6
0
 public function updateCustomRecord($parameters)
 {
     Preference::setValue('bookingNVouchersToCreate', 11, $this->request->input('nVouchersToCreate'));
 }
Esempio n. 7
0
 public function updateCustomRecord($parameters)
 {
     Preference::setValue('octopusNotificationsAccount', 8, $this->request->input('notificationsAccount'));
     Preference::setValue('octopusManagerProfile', 8, $this->request->input('managerProfile'));
 }
Esempio n. 8
0
 public function updateCustomRecord($parameters)
 {
     Preference::setValue('projectsBillingProfile', 6, $this->request->input('billingProfile'));
     Preference::setValue('projectsNotificationsAccount', 6, $this->request->input('notificationsAccount'));
     Preference::setValue('projectsHourPrice', 6, $this->request->input('hourPrice'));
 }
Esempio n. 9
0
 public function updateCustomRecord($parameters)
 {
     Preference::setValue('formsDefaultState', 4, $this->request->input('defaultState'));
     Preference::setValue('formsNotificationsAccount', 4, $this->request->input('notificationsAccount'));
 }