/**
  * @Route("/login", name="api_login")
  * @Method("POST")
  * @param Request $request
  * @return JsonResponse
  */
 public function loginAction(Request $request)
 {
     $userDTO = new ApiUserLogin();
     $form = $this->createForm(new LoginApiType(), $userDTO);
     $this->handleJsonForm($form, $request);
     $redmineClient = $this->get('redmine.guzzle_client');
     try {
         $redmineResponse = $redmineClient->redmineLogin($userDTO->getUsername(), $userDTO->getPassword());
         $q = json_decode($redmineResponse);
         /** @var EntityManager $em */
         $em = $this->getDoctrine()->getManager();
         $user = $em->getRepository("RedmineAppBundle:RedmineUser")->findOneBy(['redmineToken' => $q->user->api_key, 'redmineUserID' => $q->user->id]);
         if (!$user) {
             $passwordEncoder = $this->get('security.password_encoder');
             $user = new RedmineUser();
             $user->setUsername($q->user->login)->setEmail($q->user->mail)->setPassword($passwordEncoder->encodePassword($user, md5(uniqid())))->setName($q->user->firstname)->setSurname($q->user->lastname)->setRedmineUserID($q->user->id)->setRedmineToken($q->user->api_key);
             $settings = new Settings();
             $settings->setSms(false)->setPush(false)->setCheckFirst(Carbon::createFromTime(17, 45))->setCheckSecond(Carbon::createFromTime(20, 0))->setCheckThird(Carbon::createFromTime(9, 30))->setUser($user);
             $em->persist($user);
             $em->persist($settings);
             $em->flush();
         }
     } catch (\Exception $e) {
         return new JsonResponse(['message' => 'Redmine user: bad credentials'], 403);
     }
     $this->get('redmine.device.notification')->getDevice($user, $userDTO->getDeviceId(), $userDTO->getPushToken(), $userDTO->getPushPlatform());
     return new JsonResponse($user);
 }
Example #2
0
 public function handle($request, Closure $next)
 {
     if ($this->auth->check()) {
         $this->auth->user()->update(['user_lastvisit' => Carbon::createFromTime(null, null, 0)]);
     }
     return $next($request);
 }
 public function authUserFromRedmine(UsernamePasswordToken $token)
 {
     $pass = $token->getCredentials();
     $username = $token->getUser();
     try {
         $response = $this->client->redmineLogin($username, $pass);
         $q = json_decode($response);
         $em = $this->em;
         $user = $em->getRepository("RedmineAppBundle:RedmineUser")->findOneBy(['redmineToken' => $q->user->api_key, 'redmineUserID' => $q->user->id]);
         if ($user) {
             return $user->getUsername();
         } else {
             $user = new RedmineUser();
             $user->setUsername($q->user->login)->setEmail($q->user->mail)->setPassword($this->encoder->encodePassword($user, md5(uniqid())))->setName($q->user->firstname)->setSurname($q->user->lastname)->setRedmineUserID($q->user->id)->setRedmineToken($q->user->api_key);
             $settings = new Settings();
             $settings->setSms(false)->setPush(false)->setCheckFirst(Carbon::createFromTime(17, 45))->setCheckSecond(Carbon::createFromTime(20, 0))->setCheckThird(Carbon::createFromTime(9, 30))->setUser($user);
             $this->em->persist($user);
             $this->em->persist($settings);
             $this->em->flush();
             return $user->getUsername();
         }
     } catch (\Exception $e) {
         return null;
     }
 }
 /**
  * @param $time
  * @return int
  */
 public static function differenceUntilNow($time)
 {
     $timerData = explode(':', $time);
     $hour = $timerData[0];
     $minute = $timerData[1];
     $second = $timerData[2];
     $timer = Carbon::createFromTime($hour, $minute, $second);
     $now = Carbon::now();
     return $now->diffInSeconds($timer);
 }
Example #5
0
 public function getHello()
 {
     $hello = 'Hallo';
     if (Carbon::now() > Carbon::createFromTime(0, 0, 0) && Carbon::now() < Carbon::createFromTime(6, 0, 0)) {
         $hello = 'Guten Abend,';
     } elseif (Carbon::now() > Carbon::createFromTime(6, 0, 0) && Carbon::now() < Carbon::createFromTime(11, 0, 0)) {
         $hello = 'Guten Morgen,';
     } elseif (Carbon::now() > Carbon::createFromTime(11, 0, 0) && Carbon::now() < Carbon::createFromTime(13, 0, 0)) {
         $hello = 'Mahlzeit,';
     } elseif (Carbon::now() > Carbon::createFromTime(13, 0, 0) && Carbon::now() < Carbon::createFromTime(17, 0, 0)) {
         $hello = 'Schönen Nachmittag,';
     } elseif (Carbon::now() > Carbon::createFromTime(19, 0, 0) && Carbon::now() < Carbon::createFromTime(24, 0, 0)) {
         $hello = 'Guten Abend,';
     }
     return $hello;
 }
Example #6
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(8, 00, 0, 'America/Mexico_City'), 'titulo' => 'Registro', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(8, 45, 0, 'America/Mexico_City'), 'titulo' => 'Presentación', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(9, 00, 0, 'America/Mexico_City'), 'titulo' => 'Entorno Económico', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(9, 40, 0, 'America/Mexico_City'), 'titulo' => 'Innovación en la cadena de valor: información y tecnología como elementos clave', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(9, 40, 0, 'America/Mexico_City'), 'titulo' => 'Agricultura sustentable: blue number initiative', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(9, 40, 0, 'America/Mexico_City'), 'titulo' => 'Información para el consumidor: tecnología y etiquetado', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(10, 35, 0, 'America/Mexico_City'), 'titulo' => 'Receso', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(11, 00, 0, 'America/Mexico_City'), 'titulo' => 'Innovación e internacionalización', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(11, 00, 0, 'America/Mexico_City'), 'titulo' => 'Dos casos exitosos de exportación mexicana: Aguacate y Tequila', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(12, 00, 0, 'America/Mexico_City'), 'titulo' => 'Receso', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(12, 30, 0, 'America/Mexico_City'), 'titulo' => 'Innovación en la industria', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(13, 40, 0, 'America/Mexico_City'), 'titulo' => 'Aperitivo y Comida', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(15, 30, 0, 'America/Mexico_City'), 'titulo' => 'Cooperación entre industria y gastronomía para la innovación', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(16, 30, 0, 'America/Mexico_City'), 'titulo' => 'Presentación de proyectos de investigación', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(16, 55, 0, 'America/Mexico_City'), 'titulo' => 'Receso', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(17, 25, 0, 'America/Mexico_City'), 'titulo' => 'Innovación en la experiencia del cliente', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(18, 30, 0, 'America/Mexico_City'), 'titulo' => 'Conclusiones y despedida', 'descripcion' => '']);
     DB::table('Presentacion')->insert(['idBloque' => 1, 'hora' => Carbon::createFromTime(18, 45, 0, 'America/Mexico_City'), 'titulo' => 'Coctel de despedida', 'descripcion' => '']);
     // $presentaciones = [ new cTalk('', '08:00', 'Registro', '',),
     //                     new cTalk('', '08:45', 'Presentación', '',),
     //                     new cTalk('', '09:00', 'Entorno Económico', '',),
     //                     new cTalk('', '09:40', '', '',),
     //                     new cTalk('', '10:35', '', '',),
     //                     new cTalk('', '11:00', '', '',),
     //                     new cTalk('', '12:00', '', '',),
     //                     new cTalk('', '12:30', '', '',),
     //                     new cTalk('', '13:40', '', '',),
     //                     new cTalk('', '15:30', '', '',),
     //                     new cTalk('', '16:30', '', '',),
     //                     new cTalk('', '16:55', '', '',),
     //                     new cTalk('', '17:25', '', '',),
     //                     new cTalk('', '18:30', '', '',),
     //                     new cTalk('', '18:45', '', '',),
     //                   ];
     // foreach ($presentaciones as $presentacion)
     // {
     //     DB::table('Presentacion')->insert
     //     ([
     //         'idBloque'    => $presentaciones->aBloque,
     //         'hora'        => $presentaciones->aHora,
     //         'titulo'      => $presentaciones->aTitulo,
     //         'descripcion' => $presentaciones->aDescripcion
     //     ]);
     // }
 }
Example #7
0
 protected function getOpensLastWeek(MailTemplate $template)
 {
     $return = [];
     $emailOpens = new EmailOpens();
     $opens = $template->opens()->where($emailOpens->table . '.created_at', '>=', Carbon::now()->subWeek())->orderBy('created_at', 'asc')->get();
     // Set placeholder data
     for ($i = 0; $i < 7; $i++) {
         $date = Carbon::createFromTime(null, 0, 0)->subDays($i);
         $return[$date->day] = (object) ['ts' => $date, 'count' => 0];
     }
     // Set actual data
     foreach ($opens as $open) {
         $date = $open->created_at;
         $return[$date->day]->count += 1;
     }
     return $return;
 }
 public function testSubSecondPassingArg()
 {
     $this->assertSame(58, Carbon::createFromTime(0)->subSecond(2)->second);
 }
 /**
  * {@inheritDoc}
  */
 protected function getTopicsQuery($sort, $direction)
 {
     // Get topics
     $topics = $this->model->select('users.slug as user_slug', 'users.username', 'lforums_topics.slug', 'lforums_topics.title', 'lforums_topics.created_at', 'lforums_topics.id', 'lforums_topics.updated_at', 'lforums_topics.views', 'lforums_topics.posts_count', 'lforums_topics.sticky', 'lforums_topics.locked', 'lforums_topics.last_post', 'last_user.slug as last_user_slug', 'last_user.username as last_user_username', 'lforums_topics.tag', 'lforums_topics.forum_id')->join('lforums_users as users', 'user_id', '=', 'users.id')->join('lforums_users as last_user', 'lforums_topics.last_post_user', '=', 'last_user.id')->whereNested(function ($query) {
         /** @var $query \Illuminate\Database\Query\Builder */
         $query->where('lforums_topics.expires_at', null)->orWhere('lforums_topics.expires_at', '>', Carbon::createFromTime());
     })->orderBy('lforums_topics.sticky', 'desc')->orderBy($sort, $direction);
     if (\Auth::check()) {
         $topics->with('read');
     }
     return $topics;
 }
Example #10
0
 public function testAddSecond()
 {
     $this->assertSame(1, Carbon::createFromTime(0, 0, 0)->addSecond()->second);
 }
<?php

/**
 * Dx
 *
 * @link http://dennesabing.com
 * @author Dennes B Abing <*****@*****.**>
 * @license proprietary
 * @copyright Copyright (c) 2015 ClaremontDesign/MadLabs-Dx
 * @version 0.0.0.1
 * @since Mar 8, 2016 10:37:59 AM
 * @file widget.php
 * @project Expression project.name is undefined on line 13, column 15 in Templates/Scripting/EmptyPHP.php.
 * @package Expression package is undefined on line 14, column 15 in Templates/Scripting/EmptyPHP.php.
 *
 */
return ['type' => 'form', 'enable' => true, 'config' => ['access' => 'only::sudo', 'values' => ['default' => ['enable' => true, 'array' => function () {
    $details = zbase()->system()->scheduledDowntimeDetails();
    if (empty($details['maintenance-message'])) {
        $details['maintenance-message'] = 'We will be having a temporary downtime on {START_TIME} until {END_TIME}. We will be doing updates and maintenance to serve you better.';
        $details['start-datetime'] = \Carbon\Carbon::createFromTime(10, 0, 0);
        $details['end-datetime'] = \Carbon\Carbon::createFromTime(11, 0, 0);
    } else {
        $details['start-datetime'] = zbase_date_from_format('Y-m-d H:i:s', $details['start-datetime']);
        $details['end-datetime'] = zbase_date_from_format('Y-m-d H:i:s', $details['end-datetime']);
    }
    return $details;
}]], 'entity' => null, 'elements' => ['header' => ['ui' => ['type' => 'component.pageHeader', 'id' => 'header', 'text' => 'Maintenance Message Details']], 'status' => ['type' => 'select', 'id' => 'status', 'label' => 'Status', 'multiOptions' => 'enableDisable', 'help' => ['text' => 'Message will be displayed on the User Dashboard if Enabled.']], 'start-datetime' => ['type' => 'datetimelocal', 'id' => 'start-datetime', 'label' => 'Start Date/Time', 'help' => ['text' => 'Enter start date and time of maintenance.'], 'validations' => ['required' => ['enable' => true, 'message' => 'Enter start date and time of maintenance.']]], 'end-datetime' => ['type' => 'datetimelocal', 'id' => 'end-datetime', 'label' => 'End Date/Time', 'help' => ['text' => 'Enter end date and time of maintenance.'], 'validations' => ['required' => ['enable' => true, 'message' => 'Enter end date and time of maintenance.']]], 'maintenance-message' => ['type' => 'textarea', 'id' => 'maintenance-message', 'label' => 'Message prior to Maintenance', 'help' => ['text' => 'Message to be displayed to the user before the maintenance.'], 'html' => ['attributes' => ['input' => ['placeholder' => 'Enter Message']]]], 'maintenance-ips' => ['type' => 'textarea', 'id' => 'maintenance-ips', 'label' => 'IP Addresses to be excluded', 'help' => ['text' => 'Enter IP Address that will be excluded for the Maintenance. 1 IP Address per Line.'], 'html' => ['attributes' => ['input' => ['placeholder' => 'IP Addresses']]]]]]];
Example #12
0
 /**
  * @param $balance
  * @return object
  */
 public function getBalanceAttribute($balance)
 {
     // TODO: improve this method
     $balance -= $this->workload->diffInMinutes(Carbon::createFromTime(0, 0, 0));
     if (true === (bool) $this->arrival1 && true === (bool) $this->leaving1) {
         $balance += $this->arrival1->diffInMinutes($this->leaving1);
     }
     if (true === (bool) $this->arrival2 && true === (bool) $this->leaving2) {
         $balance += $this->arrival2->diffInMinutes($this->leaving2);
     }
     if (true === (bool) $this->arrival3 && true === (bool) $this->leaving3) {
         $balance += $this->arrival3->diffInMinutes($this->leaving3);
     }
     $sign = $balance < 0 ? '-' : '+';
     $sign = $balance == 0 ? null : $sign;
     $balance = Carbon::createFromTime(0, 0, 0)->addMinutes(abs($balance));
     return (object) ['value' => $balance, 'sign' => $sign];
 }
 public function testSubSecond()
 {
     $this->assertSame(59, Carbon::createFromTime(0, 0, 0)->subSecond()->second);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     foreach (range(1, 100) as $i) {
         DB::table('user_shifts')->insert(['user_id' => rand(2, 3), 'shift_id' => $i, 'start_time' => \Carbon\Carbon::createFromTime(8, 0, 0, 'America/New_York'), 'end_time' => \Carbon\Carbon::createFromTime(17, 0, 0, 'America/New_York')]);
     }
 }
 public function process()
 {
     foreach ($this->xml->children() as $child) {
         if ($child->count() === 0) {
             continue;
         }
         $key = $child->value->array->data->value[0]->string->__toString();
         $value = $child->value->array->data->value[1]->string->__toString();
         switch ($key) {
             case 'UstId_1':
                 $this->ownUstId = (string) $value;
                 break;
             case 'UstId_2':
                 $this->foreignUstId = $value;
                 break;
             case 'Firmenname':
                 $this->companyName = $value;
                 break;
             case 'Erg_Name':
                 $this->responseCompanyName = $value;
                 break;
             case 'Strasse':
                 $this->street = $value;
                 break;
             case 'Erg_Str':
                 $this->responseStreet = $value;
                 break;
             case 'Ort':
                 $this->city = $value;
                 break;
             case 'Erg_Ort':
                 $this->responseCity = $value;
                 break;
             case 'PLZ':
                 $this->zipCode = $value;
                 break;
             case 'Erg_PLZ':
                 $this->responseZipCode = $value;
                 break;
             case 'Datum':
                 $arr = $this->_getDateTimeArray($value);
                 $this->date = Carbon::createFromDate($arr[2], $arr[1], $arr[0]);
                 break;
             case 'Uhrzeit':
                 $arr = $this->_getDateTimeArray($value, ':');
                 $this->time = Carbon::createFromTime($arr[0], $arr[1], $arr[2]);
                 break;
             case 'Gueltig_ab':
                 $arr = $this->_getDateTimeArray($value);
                 $this->validFrom = Carbon::createFromDate($arr[2], $arr[1], $arr[0]);
                 break;
             case 'Gueltig_bis':
                 $arr = $this->_getDateTimeArray($value);
                 $this->validUntil = Carbon::createFromDate($arr[2], $arr[1], $arr[0]);
                 break;
             case 'Druck':
                 $this->printConfirmation = $this->_getPrintConfirmationOption($value);
                 break;
             case 'ErrorCode':
                 $this->errorCode = (int) $value;
                 break;
         }
     }
     $this->_setErrorMessage((string) $this->errorCode);
 }
 protected function getTimer()
 {
     $difference = MediDateTime::differenceUntilNow($this->timer);
     if ($difference > $this->timing_duration) {
         $this->bid_status = self::AUCTION_BID_CHECKING;
         // set checking flag
         $this->setChecker();
         // set the checker
         return 'Checking...';
     } else {
         $seconds = $this->timing_duration - $difference;
         return Carbon::createFromTime(0, 0, $seconds)->format('H:i:s');
     }
 }
Example #17
0
 /**
  * @return $this
  */
 public function index()
 {
     // we get the schedules from database
     $schedules = $this->repository->all();
     // we prepare the start and end of day data
     list($hour, $minutes) = explode(':', config('schedule.day_start'));
     $start_of_day = Carbon::createFromTime($hour, $minutes, 00);
     list($hour, $minutes) = explode(':', config('schedule.day_stop'));
     $end_of_day = Carbon::createFromTime($hour, $minutes, 00);
     // we format an hour array
     $hours = [];
     $hour = $start_of_day;
     while ($hour < $end_of_day) {
         $hours[] = $hour->format('H:i');
         $hour->addMinutes(30);
     }
     // we prepare empty arrays to format the columns and the schedule grid
     $columns = [];
     $formated_schedules = [];
     // for each database schedule
     foreach ($schedules as $schedule) {
         $ii = 0;
         // for each hour
         foreach ($hours as $time) {
             // for each day
             foreach (config('schedule.day_of_week') as $id => $day) {
                 if ($schedule->time_start <= $time && $schedule->time_stop > $time && $schedule->day_id === $id) {
                     list($hour, $minutes) = explode(':', $time);
                     $carbon_time = Carbon::createFromTime($hour, $minutes, 00);
                     if ($schedule->start === $time) {
                         $formated_schedules[$time][$day][$schedule->public_category] = ['status' => 'start', 'public_category_id' => $schedule->public_category];
                     } elseif ($schedule->time_stop === $carbon_time->addMinutes(30)->format('H:i')) {
                         $formated_schedules[$time][$day][$schedule->public_category] = ['status' => 'stop', 'public_category_id' => $schedule->public_category];
                     } else {
                         $formated_schedules[$time][$day][$schedule->public_category] = ['status' => '', 'public_category_id' => $schedule->public_category];
                     }
                     $columns[$day][$schedule->public_category] = [];
                     $ii++;
                 } else {
                     if (empty($formated_schedules[$time][$day])) {
                         $formated_schedules[$time][$day] = [];
                     }
                 }
             }
         }
     }
     // we get the json schedules content
     $schedules = null;
     if (is_file(storage_path('app/schedules/content.json'))) {
         $schedules = json_decode(file_get_contents(storage_path('app/schedules/content.json')));
     }
     // we parse the markdown content
     $parsedown = new Parsedown();
     $description = isset($schedules->description) ? $parsedown->text($schedules->description) : null;
     // SEO Meta settings
     $this->seo_meta['page_title'] = trans('seo.front.schedules.title');
     $this->seo_meta['meta_desc'] = trans('seo.front.schedules.description');
     $this->seo_meta['meta_keywords'] = trans('seo.front.schedules.keywords');
     // og meta settings
     $this->og_meta['og:title'] = trans('seo.front.schedules.title');
     $this->og_meta['og:description'] = trans('seo.front.schedules.description');
     $this->og_meta['og:type'] = 'article';
     $this->og_meta['og:url'] = route('schedules.index');
     $this->og_meta['og:image'] = $schedules->background_image ? ImageManager::imagePath(config('image.schedules.public_path'), $schedules->background_image, 'background_image', '767') : null;
     // prepare data for the view
     $data = ['seo_meta' => $this->seo_meta, 'og_meta' => $this->og_meta, 'title' => isset($schedules->title) ? $schedules->title : null, 'description' => $description, 'background_image' => isset($schedules->background_image) ? $schedules->background_image : null, 'days' => config('schedule.day_of_week'), 'hours' => $hours, 'schedules' => $formated_schedules, 'columns' => $columns, 'css' => elixir('css/app.schedule.css')];
     // return the view with data
     return view('pages.front.schedule')->with($data);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('batches')->insert(['product_id' => 2, 'batches' => 1, 'proddate' => \Carbon\Carbon::createFromTime(0, 0, 0, 'America/New_York'), 'status_id' => 1, 'created_at' => \Carbon\Carbon::now(), 'updated_at' => \Carbon\Carbon::now()]);
 }
Example #19
0
 public function testCreateFromTimeWithTimeZoneString()
 {
     $d = Carbon::createFromTime(12, 0, 0, 'Europe/London');
     $this->assertCarbon($d, Carbon::now()->year, Carbon::now()->month, Carbon::now()->day, 12, 0, 0);
     $this->assertSame('Europe/London', $d->tzName);
 }
 public function testTimeSetter()
 {
     $entity = new Entity();
     $entity->id = 2;
     $entity->time = Carbon::createFromTime(12, 0, 0, 'Europe/London');
     $this->em->persist($entity);
     $this->em->flush();
 }