示例#1
0
 public function orders()
 {
     $orders = file_get_contents('http://api.komandir.kz/libs/port.php?city=' . $this->city->index);
     $orders = json_decode($orders);
     foreach ($orders as $k => $v) {
         CarbonInterval::setLocale('ru');
         $dt1 = Carbon::parse($v->SOURCE_TIME);
         $dt2 = Carbon::now()->subMinutes(5);
         $difference = $dt1->diffInMinutes($dt2, true);
         $hours = intval($difference / 60);
         $minutes = $difference % 60;
         $last_changed = DB::table('users_logs')->where('city', '=', $this->city->index)->where('order_id', '=', $v->ID)->orderBy('date', 'desc')->select('user_name')->first();
         $orders[$k]->LAST_CHANGED = isset($last_changed->user_name) ? $last_changed->user_name : NULL;
         $orders[$k]->DIFFERENCE = $hours == 0 && $minutes == 0 ? 'Подано' : CarbonInterval::hours($hours)->minutes($minutes);
         //$orders[$k]->DIFFERENCE = $dt1->diffInMinutes($dt2, true);
     }
     $crews = DB::connection($this->city->db)->table('crews_inline')->where('status', '=', 'waiting')->where('code', '<>', '0')->orderBy('code')->get(['code']);
     return view('personal.airport', ['res' => $orders, 'crews' => $crews, 'city' => $this->city->index]);
 }
 public function testYearsAndMonthInGerman()
 {
     CarbonInterval::setLocale('de');
     $this->assertSame('1 Jahr 1 Monat', CarbonInterval::create(1, 1)->forHumans());
     $this->assertSame('2 Jahre 1 Monat', CarbonInterval::create(2, 1)->forHumans());
 }
示例#3
0
 /**
  * Register Twig tags
  * @return array
  */
 public function registerMarkupTags()
 {
     return ['filters' => ['duration' => function ($datetime) {
         $interval = preg_split('/\\:|\\:0/', $datetime);
         $diff = new \DateInterval('PT' . $interval[0] . 'H' . $interval[1] . 'M');
         \Carbon\CarbonInterval::setLocale('ru');
         return \Carbon\CarbonInterval::instance($diff);
     }, 'dateLocale' => [$this, 'dateLocale']]];
 }
 public function testYearsAndMonthInCatalan()
 {
     CarbonInterval::setLocale('ca');
     $this->assertSame('1 any 1 mes', CarbonInterval::create(1, 1)->forHumans());
     $this->assertSame('2 anys 1 mes', CarbonInterval::create(2, 1)->forHumans());
 }
示例#5
0
 /**
  * Register Twig tags
  * @return array
  */
 public function registerMarkupTags()
 {
     return ['filters' => ['duration' => function ($datetime) {
         $interval = preg_split('/\\:|\\:0/', $datetime);
         $diff = new \DateInterval('PT' . $interval[0] . 'H' . $interval[1] . 'M');
         \Carbon\CarbonInterval::setLocale('ru');
         return \Carbon\CarbonInterval::instance($diff);
     }, 'dateLocale' => [$this, 'dateLocale'], 'unique' => function ($array) {
         if (!$array) {
             return $array;
         }
         return $ret = array_unique($array, SORT_REGULAR);
     }, 'pluck' => function ($collection, ...$items) {
         if (!$collection) {
             return;
         }
         $ret = [];
         foreach ($collection as $key => $object) {
             $_ret = [];
             foreach ($items as $key) {
                 if (array_key_exists($key, $object)) {
                     $_ret[$key] = $object[$key];
                 } else {
                     return;
                 }
             }
             $ret[] = $_ret;
         }
         return $ret;
     }, 'emt' => function ($string) {
         return EMTypograph::fast_apply($string, ['Nobr.nowrap' => 'on', 'Nobr.hyphen_nowrap' => 'on', 'OptAlign.all' => 'off', 'Text.paragraphs' => 'off', 'Text.breakline' => 'off']);
     }, 'emts' => function ($string) {
         return EMTypograph::fast_apply($string, ['Nobr.nowrap' => 'on', 'Nobr.hyphen_nowrap' => 'on', 'OptAlign.all' => 'off', 'Text.paragraphs' => 'off', 'Text.breakline' => 'off']);
     }], 'functions' => ['dateLocaleIntervalOld' => function ($date_start, $date_end) {
         $s = \Carbon\Carbon::parse($date_start);
         $e = \Carbon\Carbon::parse($date_end);
         $c = $e->month > $s->month;
         // \Carbon\Carbon::setLocale('ru');
         if ($c) {
             return sprintf("c %s %s по %s %s", $s->day, $this->dateLocale($s, "%h"), $e->day, $this->dateLocale($e, "%h"));
         } else {
             return sprintf("c %s по %s %s", $s->day, $e->day, $this->dateLocale($e, "%h"));
         }
     }, 'dateLocaleInterval' => function ($date_start, $date_end) {
         $s = \Carbon\Carbon::parse($date_start);
         $sm = \Carbon\Carbon::parse($date_start)->startOfMonth()->day;
         $e = \Carbon\Carbon::parse($date_end);
         $em = \Carbon\Carbon::parse($date_end)->endOfMonth()->day;
         $isDifferentMonth = $e->month > $s->month;
         $isDifferentYear = $e->year > $s->year;
         $isFullMonth = $s->month == $e->month && $s->day == $sm && $e->day == $em;
         // \Carbon\Carbon::setLocale('ru');
         if ($isDifferentYear) {
             return sprintf("c %s %s %s по %s %s %s", $s->day, $this->dateLocale($s, "%h"), $s->year, $e->day, $this->dateLocale($e, "%h"), $s->year);
         }
         if ($isDifferentMonth) {
             return sprintf("c %s %s по %s %s", $s->day, $this->dateLocale($s, "%h"), $e->day, $this->dateLocale($e, "%h"));
         }
         if ($isFullMonth) {
             return sprintf("в %s %s", $this->dateLocale($s, "%X"), $s->year);
         }
         return sprintf("c %s по %s %s", $s->day, $e->day, $this->dateLocale($e, "%h"));
     }]];
 }
 public function testYearsAndMonthsInDanish()
 {
     CarbonInterval::setLocale('da');
     $this->assertSame('1 år 1 måned', CarbonInterval::create(1, 1)->forHumans());
     $this->assertSame('2 år 1 måned', CarbonInterval::create(2, 1)->forHumans());
 }