function getStartAndEndDate($week, $year)
 {
     $dto = new DateTime();
     $dto->setISODate($year, $week, 0);
     $ret = array();
     $ret['week'] = $week;
     $ret['year'] = $year;
     //Week Start
     $dto->setTime(0, 0, 0);
     $ret['start']['unix'] = $dto->format('U');
     $ret['start']['formatted'] = $dto->format('Y-m-d');
     $ret['start']['dayName'] = $dto->format('l');
     $ret['start']['day'] = $dto->format('jS');
     $ret['start']['month'] = $dto->format('F');
     $ret['start']['year'] = $dto->format('Y');
     //Week End
     $dto->modify('+6 days')->setTime(23, 59, 59);
     $ret['end']['unix'] = $dto->format('U');
     $ret['end']['formatted'] = $dto->format('Y-m-d');
     $ret['end']['dayName'] = $dto->format('l');
     $ret['end']['day'] = $dto->format('jS');
     $ret['end']['month'] = $dto->format('F');
     $ret['end']['year'] = $dto->format('Y');
     return $ret;
 }
 /**
  * Get Query for All Entity For User By week and year
  *
  * @param integer $year
  * @param integer $week
  * @param User $user
  *
  * @return \Doctrine\ORM\Query
  */
 public function getAllByYearWeekUserQuery($year, $week, User $user)
 {
     $dtStart = new \DateTime();
     $dtStart->setISODate($year, $week);
     $dtStart->setTime(0, 0, 0);
     $nextweek = $week + 1;
     $nextyear = $year;
     $date = new \DateTime();
     $date->setISODate($year, 53);
     $weeksinyear = $date->format('W') === '53' ? 53 : 52;
     if ($nextweek > $weeksinyear) {
         $nextyear++;
         $nextweek = 1;
     }
     $dtEnd = new \DateTime();
     $dtEnd->setISODate($nextyear, $nextweek);
     $dtEnd->setTime(0, 0, 0);
     $dql = 'SELECT DISTINCT ag
         FROM Acf\\DataBundle\\Entity\\Agenda AS ag
         LEFT JOIN ag.users AS au
         WHERE
             (ag.user = :user OR au = :user)
         AND
             (
                 (ag.dtStart >= :dtStart AND ag.dtStart < :dtEnd)
                 OR
                 (ag.dtEnd > :dtStart AND ag.dtEnd <= :dtEnd)
             )
         ORDER BY ag.dtStart ASC';
     $query = $this->getEntityManager()->createQuery($dql)->setParameter('user', $user)->setParameter('dtStart', $dtStart)->setParameter('dtEnd', $dtEnd);
     return $query;
 }
Beispiel #3
0
 	/**
	 *
	 * Renvoi la date du vendredi de la semaine
	 *
	 * @return     mixed Formatted date/time value as string or DateTime object (if format is NULL)
	 */
	public function getSamedi($format = 'Y-m-d H:i:s') {
	    $now = new DateTime('now');
	    $year = $now->format('Y');
	    $num_semaine_now = $now->format('W');
	    if ($this->getNumEdtSemaine() === null || !is_numeric($this->getNumEdtSemaine())) {
		throw new PropelException('Numero de semaine non valide');
	    }
	    if ($num_semaine_now > 30 && $this->getNumEdtSemaine() > 30) {
		//on est dans la meme annee
	    } else if ($num_semaine_now < 30 && $this->getNumEdtSemaine() < 30) {
		//on est dans la meme annee
	    } else if ($num_semaine_now > 30 && $this->getNumEdtSemaine() < 30) {
		//on est dans l'anne suivante
		$year = $year+1;
	    } else if ($num_semaine_now < 30 && $this->getNumEdtSemaine() > 30) {
		//on est dans l'anne precedente
		$year = $year-1;
	    }
	    $dt = new DateTime();
	    $dt->setISODate($year, $this->getNumEdtSemaine(), 6);
	    if ($format === null) {
		    // Because propel.useDateTimeClass is TRUE, we return a DateTime object.
		    return $dt;
	    } elseif (strpos($format, '%') !== false) {
		    return strftime($format, $dt->format('U'));
	    } else {
		    return $dt->format($format);
	    }
	}
 /**
  * Show the application dashboard to the user.
  *
  * @return Response
  */
 public function index(Request $request)
 {
     $titulo = "Calendario";
     $cursillos = Cursillos::getCalendarCursillos($request);
     $anyos = Cursillos::getAnyoCursillosList();
     //Obtenemos los parámetros de la respuesta
     $year = $request->input('anyo');
     $week = $request->input('semana') > 0 ? $request->input('semana') : 1;
     $semanas = array();
     //A partir del número de semana obtenemos el mes
     if ($year > 0 && $week > 0) {
         $month = new \DateTime();
         $month->setISODate($year, $week);
         $mes = $month->format('m');
         $year = $month->format('Y');
     }
     $date = $year > 0 ? date('Y-m-d', strtotime("{$year}-{$mes}-1")) : date('Y-m-d');
     //Cargamos los cursillos
     foreach ($cursillos as $cursillo) {
         $event[] = \Calendar::event($cursillo->comunidad, $cursillo->cursillo, true, $cursillo->fecha_inicio, date('Y-m-d', strtotime($cursillo->fecha_final) + 86400), $cursillo->colorFondo, $cursillo->colorTexto, $cursillo->id);
     }
     if (count($cursillos) > 0) {
         $calendar = \Calendar::addEvents($event)->setOptions(['lang' => '', 'defaultDate' => $date, 'buttonIcons' => true, 'editable' => false, 'weekNumbers' => true, 'eventLimit' => true, 'header' => array('left' => 'prev', 'center' => 'title', 'right' => 'next')])->setCallbacks(['eventClick' => 'function(calEvent, jsEvent, view) {
                 $(this).attr("href","curso/"+calEvent.id);
             }']);
     }
     return view('autenticado', compact('calendar', 'anyos', 'semanas', 'titulo'));
 }
 function start_end_week($year, $week)
 {
     $dto = new DateTime();
     $date['start'] = $dto->setISODate($year, $week)->format('Y-m-d');
     $date['end'] = $dto->modify('+6 days')->format('Y-m-d');
     return $date;
 }
 public function select_XCNVWKERSDLMC485DK($group_id, $valueOfWhich, $which)
 {
     global $wpdb;
     $table_name = 'wpfb_group_post_collection';
     $sql = "";
     if ($which == 'weekNo') {
         $datetime = new DateTime();
         $datetime->setISODate((int) $datetime->format('Y'), $valueOfWhich, 1);
         $interval = new DateInterval('P1D');
         $week = new DatePeriod($datetime, $interval, 6);
         $dayList = array();
         foreach ($week as $day) {
             $dayList[] = $day->format('Y-m-d g:i:s');
         }
         $sql = sprintf("select * from %s A where A.from_group_id= '%s' and A.message_creation_time between '{$dayList[0]}' and '{$dayList[6]}'", $table_name, $group_id);
     } else {
         if ($which == 'author') {
             $sql = sprintf("elect * from %s A where A.from_group_id= '%s' and A.from_profile_id = '%s'", $table_name, $group_id, $valueOfWhich);
         }
     }
     $databaseRows = $wpdb->get_results($sql, ARRAY_A);
     if ($wpdb->last_error) {
         throw new Exception($wpdb->last_error);
     }
     return $databaseRows;
 }
function MakeStartAndFinalDates($week_number, $year)
{
    $week_start = new DateTime();
    $week_start->setISODate($year, $week_number);
    $strDateFrom = $week_start->format('Y-m-d');
    $strDateTo = date('Y-m-d', strtotime($strDateFrom . ' + 6 days'));
    return array($strDateFrom, $strDateTo);
}
 public function setISODate($year, $week, $day = null)
 {
     if ($day === null) {
         return $this->dateTime->setISODate($year, $week);
     } else {
         return $this->dateTime->setISODate($year, $week, $day);
     }
 }
Beispiel #9
0
 public function test_set_iso_date()
 {
     $a = new \DateTime();
     $a->setISODate(2001, 1);
     $b = new ActiveRecord\DateTime();
     $b->setISODate(2001, 1);
     $this->assert_datetime_equals($a, $b);
 }
function getStartAndEndDate($week, $year)
{
    $dto = new DateTime();
    $dto->setISODate($year, $week);
    $ret['week_start'] = $dto->format('o-m-d');
    $dto->modify('+6 days');
    $ret['week_end'] = $dto->format('o-m-d');
    return $ret;
}
function getStartAndEndDate($week, $year)
{
    $dto = new DateTime();
    $dto->setISODate($year, $week);
    $return['start_date'] = $dto->format('Y-m-d');
    $dto->modify('+6 days');
    $return['end_date'] = $dto->format('Y-m-d');
    return $return;
}
Beispiel #12
0
 public function init($year, $week, $type)
 {
     $this->year = $year;
     $this->week = $week;
     $this->type = $type;
     $start = new \DateTime();
     $start->setISODate($this->year, date("W", strtotime($this->container->getParameter("nfl_kick_off"))) + $this->week - ($type === "pre" ? 5 : 1), 2);
     $this->start_date = $start->format("Y-m-d H:m:s");
     $this->end_date = $start->modify("+7 days")->format("Y-m-d H:m:s");
 }
Beispiel #13
0
 /**
  * 
  * @param string $week
  * @param string $year
  * @return NULL[]|\DateTime[]
  */
 public function getStartAndEndDate($week, $year)
 {
     $range = array("start" => NULL, "end" => NULL);
     $date = new \DateTime();
     $date->setISODate($year, $week);
     $range["start"] = new \DateTime($date->format("d.m.Y"));
     $date->modify("+6 days");
     $range["end"] = new \DateTime($date->format("d.m.Y"));
     return $range;
 }
 public function execute(BlockContextInterface $block, Response $response = null)
 {
     // merge settings
     $settings = array_merge($this->getDefaultSettings(), $block->getSettings());
     // Get validated hours per week
     $query = $this->em->createQuery("SELECT\n          SUM(HOUR(c.duration) + MINUTE(c.duration)/60) AS time,\n          YEAR(c.date) AS year,\n          WEEK(c.date) AS week\n          FROM MathsupCouponBundle:Course c\n          GROUP BY year, week\n          ORDER BY year, week DESC\n          ");
     $hoursPerWeek = $query->getArrayResult();
     $hoursPerWeekData = [];
     foreach ($hoursPerWeek as $week) {
         $week_start = new \DateTime();
         $week_start->setISODate($week['year'], $week['week']);
         $hoursPerWeekData[] = array('name' => $week_start->format('d-M-Y'), 'x' => $week_start->getTimestamp() * 1000, 'y' => (int) $week['time']);
     }
     $query = $this->em->createQuery("\n          SELECT\n              COUNT(s) AS n,\n              YEAR(s.createdAt) AS year,\n              MONTH(s.createdAt) AS month,\n              DAY(s.createdAt) AS day,\n              s.createdAt AS date\n          FROM MathsupUserBundle:Student s\n          GROUP BY year, month, day\n          ORDER BY s.createdAt ASC\n          ");
     $studentCountEvolution = $query->getResult();
     $studentCountEvolutionData = [];
     $studentCount = 0;
     foreach ($studentCountEvolution as $day) {
         $studentCount += $day['n'];
         $studentCountEvolutionData[] = array('name' => $day['date']->format('d-M-Y'), 'y' => (int) $studentCount, 'x' => $day['date']->getTimestamp() * 1000);
     }
     $hoursPerWeekChart = new Highchart();
     $hoursPerWeekChart->title->text('Heures de cours validées par semaine');
     $hoursPerWeekChart->chart->renderTo('hours_per_week_chart');
     $hoursPerWeekChart->chart->zoomType('x');
     $hoursPerWeekChart->xAxis->title(array('text' => "Semaine"));
     $hoursPerWeekChart->xAxis->type('datetime');
     $hoursPerWeekChart->yAxis(array(array("title" => array('text' => "Heures")), array("title" => array('text' => "Nombre d'étudiants"), "opposite" => true)));
     $series = array(array("name" => "Nombre d'heure", "type" => "column", "data" => $hoursPerWeekData), array("name" => "Nombre d'étudiants", "data" => $studentCountEvolutionData, "step" => true, "yAxis" => 1));
     $hoursPerWeekChart->series($series);
     $qb = $this->em->createQueryBuilder();
     $qb->select($qb->expr()->count('s'))->from('MathsupUserBundle:Student', 's')->where('s.enabled = true');
     $studentCount = $qb->getQuery()->getSingleScalarResult();
     // get professor count
     $qb = $this->em->createQueryBuilder();
     $qb->select($qb->expr()->count('p'))->from('MathsupUserBundle:Professor', 'p')->where('p.enabled = true');
     $professorCount = $qb->getQuery()->getSingleScalarResult();
     // Create user number (and repartition) pie chart
     $usersChart = new Highchart();
     $usersChart->title->text('Utilisateurs');
     $usersChart->chart->renderTo('users_chart');
     $usersChart->chart->type('pie');
     $usersChart->plotOptions->pie(array('allowPointSelect' => true, 'cursor' => 'pointer', 'dataLabels' => array('enabled' => true, 'format' => '<b>{point.name}</b>: {point.y}')));
     $usersChart->series(array(array('name' => 'Utilisateurs', 'colorByPoint' => 'true', 'data' => array(array('name' => 'Étudiants', 'y' => (int) $studentCount), array('name' => 'Professeurs', 'y' => (int) $professorCount)))));
     return $this->renderResponse($block->getTemplate(), array('hours_per_week_chart' => $hoursPerWeekChart, 'student_count_evolution' => $studentCountEvolutionData, 'users_chart' => $usersChart, 'block' => $block->getBlock(), 'settings' => $settings), $response);
 }
Beispiel #15
0
 /**
  * Creates a dates-ranges weekly array.
  * 
  * @param  \DateTime $from
  * @param  \DateTime $to
  * @return array
  */
 private static function createWeekly(\DateTime $from, \DateTime $to)
 {
     $arrRanges = [];
     while (true) {
         if ($from->format('Y-W') == $to->format('Y-W')) {
             $arrRanges[] = ['from' => $from->format('Y-m-d'), 'to' => $to->format('Y-m-d 23:59:59')];
             break;
         } else {
             $cycleFrom = clone $from;
             // Clone the '$from' object.
             $from->setISODate($from->format('Y'), $from->format('W'));
             // Get a week of the given year.
             $cycleTo = $from->add(new \DateInterval('P6D'));
             // Get the last day of a calendar week.
             $arrRanges[] = ['from' => $cycleFrom->format('Y-m-d'), 'to' => $cycleTo->format('Y-m-d 23:59:59')];
             $from = $cycleTo->add(new \DateInterval('P1D'));
             // Continue to the next iteration with updated '$from' object.
             unset($cycleFrom, $cycleTo);
             // Clear up the memory.
         }
     }
     return $arrRanges;
 }
         $nday = 3;
         break;
     case "THURSDAY":
     case "Thursday":
     case "thursday":
         $nday = 4;
         break;
     case "FRIDAY":
     case "Friday":
     case "friday":
         $nday = 5;
         break;
 }
 for ($i = 32; $i < 48; $i++) {
     $rundate = new DateTime();
     $rundate->setISODate(2015, $i, $nday);
     // year , week num , day
     $j = 0;
     // reset time shifter
     $date = $rundate->format('Y-m-d');
     /********************************************************************************/
     // Simulate a general waste run starting at ~06:00 and shift 30s +/- (0-8) per pickup
     $rundate->setTime(06, rand(-5, 10), rand(0, 30));
     // reset and randomise time for run start
     $truckid = rand(1, 27);
     // no idea which truck; just randomise;
     $bintype = 1;
     // static for now; would come off QR code
     $binsize = 240;
     // determined by bin type
     foreach ($properties as $property) {
 /**
  * Get the timeset as array for this panel
  */
 private function getTimeset()
 {
     $timeset = array();
     // km-Spiel Saisonen
     $kmstart = new DateTime();
     $kmstart->setTime(0, 0, 0);
     $kmend = new DateTime();
     $kmend->setTime(0, 0, 0);
     $now = new DateTime("now");
     $kmstart->setISODate(date('Y'), 27, 1);
     if ($kmstart > $now) {
         $kmstart->setISODate(date('Y'), 1, 1);
         $kmend->setISODate(date('Y'), 26, 7);
     } else {
         $weeks = date('W', strtotime(date('Y') . '-12-31'));
         $kmend->setISODate(date('Y'), $weeks == 53 ? 53 : 52, 7);
     }
     echo new DateTime(date('o-\\WW'));
     // Zeitraeume fuer die Prognosen.
     $Time = new Time();
     $timeset['woche'] = array('name' => __('Week'), 'start' => (new DateTime())->setTimestamp(Time::weekstart(time())), 'end' => (new DateTime())->setTimestamp(Time::weekend(time()) . " + 6 days"));
     $timeset['mon'] = array('name' => __('Month'), 'start' => new DateTime(date("Y-m-01")), 'end' => new Datetime(date('Y-m-t')));
     $timeset['hj'] = array('name' => __('Half-Year'), 'start' => new DateTime(date('m') < 7 ? date("Y-01-01") : date("Y-07-01")), 'end' => new Datetime(date('m') < 7 ? date("Y-06-30") : date('Y-12-31')));
     $timeset['saison'] = array('name' => __('Saison'), 'start' => $kmstart, 'end' => $kmend, 'note' => __('Note: Saison means the current season in the german &quot;kmspiel&quot;'));
     $timeset['jahr'] = array('name' => __('Year'), 'start' => new DateTime(date("Y-01-01")), 'end' => new Datetime(date('Y-12-31')));
     return $timeset;
 }
Beispiel #18
0
 public function raspored($id, $tjedan = null, $godina = null)
 {
     if (is_null($tjedan)) {
         $tjedan = date('W');
     }
     if (is_null($godina)) {
         $godina = date('o');
     }
     $t = new DateTime();
     $t->setISODate($godina, $tjedan);
     if ($tjedan < 1 || $tjedan > 51) {
         $tjedan = $t->format('W');
         $godina = $t->format('o');
     }
     $ucionica = Ucionica::find($id);
     return View::make('Ucionica.raspored')->with('tjedan', $tjedan)->with('godina', $godina)->with('ucionica', $ucionica)->with('strana_rasporeda', \Helpers\Raspored::RasporedForUcionicaInWeek($id, $tjedan, $godina));
 }
<?php

/* Prototype  : public DateTime DateTime::setISODate  ( int $year  , int $week  [, int $day  ] )
 * Description: Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates. 
 * Source code: ext/date/php_date.c
 * Alias to functions: date_isodate_set
 */
//Set the default time zone
date_default_timezone_set("Europe/London");
$datetime = new DateTime("2009-01-30 19:34:10");
echo "*** Testing DateTime::setISODate () : error conditions ***\n";
echo "\n-- Testing DateTime::setISODate() function with zero arguments --\n";
var_dump($datetime->setISODate());
$year = 2009;
echo "\n-- Testing DateTime::setISODate() function with less than expected no. of arguments --\n";
var_dump($datetime->setISODate($year));
echo "\n-- Testing date_isodate_set() function with more than expected no. of arguments --\n";
$week = 30;
$day = 7;
$extra_arg = 30;
var_dump($datetime->setISODate($year, $week, $day, $extra_arg));
?>
===DONE===
Beispiel #20
0
<?php

date_default_timezone_set('Europe/Amsterdam');
$year = date("Y");
$currentweek = date("W");
$dto = new DateTime();
$result['start'] = $dto->setISODate($year, $currentweek, 1)->format('d-m-Y');
$result['end'] = $dto->setISODate($year, $currentweek, 7)->format('d-m-Y');
if (isset($_GET['url']) && $_GET['url'] != 'resetcookie') {
    echo file_get_contents('http://lesroostersgames.hku.nl' . $_GET['url']);
    echo '
		<script>
			// var curDate = $("tr:contains(' . $result['start'] . ')");
			// $.scrollTo(curDate,600);
		</script>
		';
} else {
    echo "NO URL ERROR, MESSAGE BOBBIE";
}
<?php

$date = new DateTime();
$date->setISODate(2008, 2);
// restituisce il primo giorno della seconda settimana del 2008
echo $date->format('Y-m-d') . "\n";
$date = new DateTime();
$date->setISODate(2008, 2, 7);
// restituisce il 7o giorno della seconda settimana del 2008
echo $date->format('Y-m-d') . "\n";
$date = new DateTime();
$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "\n";
$date->setISODate(2008, 3);
echo $date->format('Y-m-d');
?>
 
Beispiel #22
0
     $path = public_path('uploads'.DS.'mar'.DS.'2016');
     $to = $path.DS.'test';
     //if(!is_dir($to))
     	//mkdir($to, 0775, true);
    
    //$zip = Zipper::make($path.DS.'GC120915.ZIP')->extractTo($to);
    $zip = Zipper::make($path.DS.'GC120915.ZIP');
    
    return dd($zip->contains('SALESMTDS.DBF'));
    */
    return App\Models\Employee::where('branchid', '0C17FE2D78A711E587FA00FF59FBB323')->get();
});
get('week/{weekno}', function ($weekno) {
    echo $weekno . '<br>';
    $week_start = new DateTime();
    $week_start->setISODate('2015', $weekno);
    echo $week_start->format('Y-m-d');
});
get('last-day-yr/{year}', function ($year) {
    $dt = Carbon\Carbon::parse($year . '-12-31');
    echo $dt->format('Y-m-d') . '<br>';
    echo $dt->toRfc822String() . '<br>';
    echo $dt->weekOfYear . '<br>';
});
get('week', function () {
    $dt = Carbon\Carbon::now();
    for ($i = 0; $i < 7; $i++) {
        $dt->addDay();
    }
    return $dt->weekOfYear;
});
function getIsoDaysInYear($year)
{
    $date = new DateTime();
    $date->setISODate($year, 53);
    return $date->format("W") === "53" ? 366 : 365;
}
Beispiel #24
0
 /**
  * create multi-day events
  */
 function calendarMultiday($items)
 {
     $app = JFactory::getApplication();
     $params = $app->getParams();
     $startdayonly = $this->getState('filter.calendar_startdayonly');
     foreach ($items as $item) {
         $item->categories = $this->getCategories($item->id);
         if (!is_null($item->enddates) && !$startdayonly) {
             if ($item->enddates != $item->dates) {
                 // $day = $item->start_day;
                 $day = $item->start_day;
                 for ($counter = 0; $counter <= $item->datesdiff - 1; $counter++) {
                     $day++;
                     //next day:
                     $nextday = mktime(0, 0, 0, $item->start_month, $day, $item->start_year);
                     //generate days of current multi-day selection
                     $multi[$counter] = clone $item;
                     $multi[$counter]->dates = strftime('%Y-%m-%d', $nextday);
                     $item->multi = 'first';
                     $item->multitimes = $item->times;
                     $item->multiname = $item->title;
                     $item->sort = 'zlast';
                     if ($multi[$counter]->dates < $item->enddates) {
                         $multi[$counter]->multi = 'middle';
                         $multi[$counter]->multistartdate = $item->dates;
                         $multi[$counter]->multienddate = $item->enddates;
                         $multi[$counter]->multitimes = $item->times;
                         $multi[$counter]->multiname = $item->title;
                         $multi[$counter]->times = $item->times;
                         $multi[$counter]->endtimes = $item->endtimes;
                         $multi[$counter]->sort = 'middle';
                     } elseif ($multi[$counter]->dates == $item->enddates) {
                         $multi[$counter]->multi = 'zlast';
                         $multi[$counter]->multistartdate = $item->dates;
                         $multi[$counter]->multienddate = $item->enddates;
                         $multi[$counter]->multitimes = $item->times;
                         $multi[$counter]->multiname = $item->title;
                         $multi[$counter]->sort = 'first';
                         $multi[$counter]->times = $item->times;
                         $multi[$counter]->endtimes = $item->endtimes;
                     }
                 }
                 // for
                 //add generated days to data
                 $items = array_merge($items, $multi);
                 //unset temp array holding generated days before working on the next multiday event
                 unset($multi);
             }
         }
         //remove events without categories (users have no access to them)
         if (empty($item->categories)) {
             unset($item);
         }
     }
     foreach ($items as $index => $item) {
         $date = $item->dates;
         $firstweekday = $params->get('firstweekday', 1);
         // 1 = Monday, 0 = Sunday
         $config = JFactory::getConfig();
         $offset = $config->get('offset');
         $year = date('Y');
         date_default_timezone_set($offset);
         $datetime = new DateTime();
         $datetime->setISODate($year, $datetime->format("W"), 7);
         $numberOfWeeks = $params->get('nrweeks', '1');
         if ($firstweekday == 1) {
             if (date('N', time()) == 1) {
                 #it's monday and monday is startdate;
                 $startdate = $datetime->modify('-6 day');
                 $startdate = $datetime->format('Y-m-d') . "\n";
                 $enddate = $datetime->modify('+' . $numberOfWeeks . ' weeks' . '- 1 day');
                 $enddate = $datetime->format('Y-m-d') . "\n";
             } else {
                 #it's not monday but monday is startdate;..
                 $startdate = $datetime->modify('-6 day');
                 $startdate = $datetime->format('Y-m-d') . "\n";
                 $enddate = $datetime->modify('+' . $numberOfWeeks . ' weeks' . '- 1 day');
                 $enddate = $datetime->format('Y-m-d') . "\n";
             }
         }
         if ($firstweekday == 0) {
             if (date('N', time()) == 7) {
                 #it's sunday and sunday is startdate;
                 $startdate = $datetime->format('Y-m-d') . "\n";
                 $enddate = $datetime->modify('+' . $numberOfWeeks . ' weeks' . '- 1 day');
                 $enddate = $datetime->format('Y-m-d') . "\n";
             } else {
                 #it's not sunday and sunday is startdate;
                 $startdate = $datetime->modify('-7 day');
                 $startdate = $datetime->format('Y-m-d') . "\n";
                 $enddate = $datetime->modify('+' . $numberOfWeeks . ' weeks' . '- 1 day');
                 $enddate = $datetime->format('Y-m-d') . "\n";
             }
         }
         $check_startdate = strtotime($startdate);
         $check_enddate = strtotime($enddate);
         $date_timestamp = strtotime($date);
         if ($date_timestamp > $check_enddate) {
             unset($items[$index]);
         } elseif ($date_timestamp < $check_startdate) {
             unset($items[$index]);
         }
     }
     // Do we still have events? Return if not.
     if (empty($items)) {
         return $items;
     }
     foreach ($items as $item) {
         $time[] = $item->times;
         $title[] = $item->title;
         $id[] = $item->id;
         $dates[] = $item->dates;
         $multi[] = isset($item->multi) ? $item->multi : false;
         $multitime[] = isset($item->multitime) ? $item->multitime : false;
         $multititle[] = isset($item->multititle) ? $item->multititle : false;
         $sort[] = isset($item->sort) ? $item->sort : 'zlast';
     }
     array_multisort($sort, SORT_ASC, $multitime, $multititle, $time, SORT_ASC, $title, $items);
     return $items;
 }
 public function postStore(Request $request, $type = null)
 {
     $sel_ar = $request->ar;
     $sel_st = $request->st;
     $sel_tag = $request->tags;
     $frm = $request->fr;
     $to = $request->to;
     $sel_av = $request->availability;
     $availability = ['1' => 'oos', '2' => 'osa'];
     $tags = ['1' => 'OSA', '2' => 'NPI'];
     $report_type = 1;
     if (is_null($type) || $type != 'assortment') {
         $report_type = 2;
     }
     if ($report_type == 2) {
         $areas = StoreInventories::getAreaList();
     } else {
         $areas = AssortmentInventories::getAreaList();
     }
     if (!empty($sel_ar)) {
         $data['areas'] = $sel_ar;
     }
     if (!empty($sel_st)) {
         $data['stores'] = $sel_st;
     }
     if (!empty($frm)) {
         $data['from'] = $frm;
     }
     if (!empty($to)) {
         $data['to'] = $to;
     }
     if (!empty($sel_av)) {
         $data['availability'] = $sel_av;
     }
     if (!empty($sel_tag)) {
         $data['tags'] = $sel_tag;
     }
     if ($report_type == 2) {
         $header = 'MKL OSA Per Store Report';
         $inventories = ItemInventories::getOsaPerStore($data);
     } else {
         $header = 'Assortment OSA Per Store Report';
         $inventories = AssortmentItemInventories::getOsaPerStore($data);
     }
     if ($request->has('submit')) {
         return view('osa.store', compact('inventories', 'frm', 'to', 'areas', 'sel_ar', 'sel_st', 'header', 'type', 'availability', 'sel_av', 'tags', 'sel_tag'));
     }
     // dd($inventories);
     if ($request->has('download')) {
         \Excel::create($header, function ($excel) use($inventories) {
             $weeks = [];
             $items = [];
             foreach ($inventories as $value) {
                 $week_start = new \DateTime();
                 $week_start->setISODate($value->yr, $value->yr_week);
                 $store_list[$value->area][$value->store_name] = $value;
                 $weeks[$week_start->format('Y-m-d')] = "Week " . $value->yr_week . " of " . $value->yr;
                 $items[$value->area][$value->store_name]["Week " . $value->yr_week . " of " . $value->yr] = ['passed' => $value->passed, 'failed' => $value->failed];
             }
             // dd($store_list);
             ksort($weeks);
             $excel->sheet('Sheet1', function ($sheet) use($items, $weeks, $store_list) {
                 $default_store_col = 9;
                 $col_array = [];
                 $col = 10;
                 foreach ($weeks as $week) {
                     $sheet->setCellValueByColumnAndRow($col, 2, $week);
                     $n_col = $col + 3;
                     $col_array[$week] = $col;
                     $sheet->mergeCells(\PHPExcel_Cell::stringFromColumnIndex($col) . "2:" . \PHPExcel_Cell::stringFromColumnIndex($n_col) . "2");
                     $sheet->getStyle(\PHPExcel_Cell::stringFromColumnIndex($col) . '2')->getAlignment()->applyFromArray(array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
                     $col = $col + 4;
                 }
                 $sheet->setCellValueByColumnAndRow($col, 2, 'Grand Total');
                 $sheet->mergeCells(\PHPExcel_Cell::stringFromColumnIndex($col) . "2:" . \PHPExcel_Cell::stringFromColumnIndex($col + 3) . "2");
                 $sheet->getStyle(\PHPExcel_Cell::stringFromColumnIndex($col) . '2')->getAlignment()->applyFromArray(array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
                 $area_col = 0;
                 $store_col = $default_store_col;
                 $sheet->setCellValueByColumnAndRow($area_col, 3, 'AREA');
                 $sheet->setCellValueByColumnAndRow(1, 3, 'REGION NAME');
                 $sheet->setCellValueByColumnAndRow(2, 3, 'DISTRIBUTOR CODE');
                 $sheet->setCellValueByColumnAndRow(3, 3, 'DISTRIBUTOR NAME');
                 $sheet->setCellValueByColumnAndRow(4, 3, 'AGENCY');
                 $sheet->setCellValueByColumnAndRow(5, 3, 'STORE CODE');
                 $sheet->setCellValueByColumnAndRow(6, 3, 'STORE ID');
                 $sheet->setCellValueByColumnAndRow(7, 3, 'CHANNEL CODE');
                 $sheet->setCellValueByColumnAndRow(8, 3, 'CHANNEL NAME');
                 $sheet->setCellValueByColumnAndRow($store_col, 3, 'STORE NAME');
                 foreach ($weeks as $week) {
                     $sheet->setCellValueByColumnAndRow($store_col + 1, 3, 'OOS');
                     $sheet->setCellValueByColumnAndRow($store_col + 2, 3, 'With Stocks');
                     $sheet->setCellValueByColumnAndRow($store_col + 3, 3, 'Total');
                     $sheet->setCellValueByColumnAndRow($store_col + 4, 3, 'OSA Score');
                     $sheet->getStyle(\PHPExcel_Cell::stringFromColumnIndex($store_col + 4))->getNumberFormat()->applyFromArray(array('code' => \PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00));
                     $store_col = $store_col + 4;
                 }
                 $sheet->setCellValueByColumnAndRow($store_col + 1, 3, 'Total OOS');
                 $sheet->setCellValueByColumnAndRow($store_col + 2, 3, 'Total With Stocks');
                 $sheet->setCellValueByColumnAndRow($store_col + 3, 3, 'Grand Total');
                 $sheet->setCellValueByColumnAndRow($store_col + 4, 3, 'Total OSA Score');
                 $sheet->getStyle(\PHPExcel_Cell::stringFromColumnIndex($store_col + 4))->getNumberFormat()->applyFromArray(array('code' => \PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00));
                 $row = 4;
                 // dd($items);
                 $per_area_total_rows = [];
                 foreach ($items as $key => $value) {
                     $first = true;
                     $total_row = count($value) + $row;
                     $last_row = $total_row - 1;
                     $start_row = $row;
                     foreach ($value as $skey => $record) {
                         $oos_row_total = 0;
                         $withstock_row_total = 0;
                         $sheet->setCellValueByColumnAndRow(0, $row, $key);
                         $sheet->setCellValueByColumnAndRow(1, $row, $store_list[$key][$skey]->region_name);
                         $sheet->setCellValueByColumnAndRow(2, $row, $store_list[$key][$skey]->distributor_code);
                         $sheet->setCellValueByColumnAndRow(3, $row, $store_list[$key][$skey]->distributor);
                         $sheet->setCellValueByColumnAndRow(4, $row, $store_list[$key][$skey]->agency);
                         $sheet->setCellValueByColumnAndRow(5, $row, $store_list[$key][$skey]->store_code);
                         $sheet->setCellValueByColumnAndRow(6, $row, $store_list[$key][$skey]->store_id);
                         $sheet->setCellValueByColumnAndRow(7, $row, $store_list[$key][$skey]->channel_code);
                         $sheet->setCellValueByColumnAndRow(8, $row, $store_list[$key][$skey]->channel_name);
                         $sheet->setCellValueByColumnAndRow(9, $row, $skey);
                         $grand_total = 0;
                         foreach ($record as $k => $rowValue) {
                             $oos_col = $col_array[$k];
                             $with_stock_col = $col_array[$k] + 1;
                             $store_total = $rowValue['failed'] + $rowValue['passed'];
                             $osa_score = '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($with_stock_col) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($oos_col) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($with_stock_col) . $row . '),"")';
                             //oos
                             $sheet->setCellValueByColumnAndRow($oos_col, $row, $rowValue['failed']);
                             $oos_row_total += $rowValue['failed'];
                             // //with stocks
                             $sheet->setCellValueByColumnAndRow($with_stock_col, $row, $rowValue['passed']);
                             $withstock_row_total += $rowValue['passed'];
                             // //total
                             $sheet->setCellValueByColumnAndRow($oos_col + 2, $row, $store_total);
                             $sheet->setCellValueByColumnAndRow($oos_col + 3, $row, $osa_score);
                         }
                         $sheet->setCellValueByColumnAndRow($store_col + 1, $row, $oos_row_total);
                         $sheet->setCellValueByColumnAndRow($store_col + 2, $row, $withstock_row_total);
                         $sheet->setCellValueByColumnAndRow($store_col + 3, $row, $oos_row_total + $withstock_row_total);
                         $osa_score_total = '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . '),"")';
                         $sheet->setCellValueByColumnAndRow($store_col + 4, $row, $osa_score_total);
                         $row++;
                     }
                     $per_area_total_rows[] = $row;
                     $sheet->setCellValueByColumnAndRow(0, $row, $key . ' Total');
                     $store_col = $default_store_col;
                     foreach ($weeks as $week) {
                         $sheet->setCellValueByColumnAndRow($store_col + 1, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $last_row . ")");
                         $sheet->setCellValueByColumnAndRow($store_col + 2, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $last_row . ")");
                         $sheet->setCellValueByColumnAndRow($store_col + 3, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 3) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 3) . $last_row . ")");
                         $sheet->setCellValueByColumnAndRow($store_col + 4, $row, '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $row . '),"")');
                         $store_col = $store_col + 4;
                     }
                     $sheet->setCellValueByColumnAndRow($store_col + 1, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $last_row . ")");
                     $sheet->setCellValueByColumnAndRow($store_col + 2, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $last_row . ")");
                     $sheet->setCellValueByColumnAndRow($store_col + 3, $row, "=SUM(" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 3) . $start_row . ":" . \PHPExcel_Cell::stringFromColumnIndex($store_col + 3) . $last_row . ")");
                     $sheet->setCellValueByColumnAndRow($store_col + 4, $row, '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 2) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($store_col + 1) . $row . '),"")');
                     $row++;
                 }
                 $sheet->setCellValueByColumnAndRow(0, $row, 'Grand Total');
                 $store_col = $default_store_col;
                 foreach ($weeks as $week) {
                     $oos_row_cells = [];
                     $withstock_row_cells = [];
                     $total_row_cells = [];
                     $oos_col = $col_array[$week];
                     foreach ($per_area_total_rows as $cell) {
                         $oos_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col) . $cell;
                         $withstock_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col + 1) . $cell;
                         $total_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col + 2) . $cell;
                     }
                     $sheet->setCellValueByColumnAndRow($oos_col, $row, '=sum(' . implode(",", $oos_row_cells) . ')');
                     $sheet->setCellValueByColumnAndRow($oos_col + 1, $row, '=sum(' . implode(",", $withstock_row_cells) . ')');
                     $sheet->setCellValueByColumnAndRow($oos_col + 2, $row, '=sum(' . implode(",", $total_row_cells) . ')');
                     $sheet->setCellValueByColumnAndRow($oos_col + 3, $row, '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($oos_col + 1) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($oos_col) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($oos_col + 1) . $row . '),"")');
                 }
                 $oos_row_cells = [];
                 $withstock_row_cells = [];
                 $total_row_cells = [];
                 $oos_col = count($col_array) * 4 + 6;
                 // dd($oos_col);
                 foreach ($per_area_total_rows as $cell) {
                     $oos_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col + 1) . $cell;
                     $withstock_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col + 2) . $cell;
                     $total_row_cells[] = \PHPExcel_Cell::stringFromColumnIndex($oos_col + 3) . $cell;
                 }
                 $sheet->setCellValueByColumnAndRow($oos_col + 1, $row, '=sum(' . implode(",", $oos_row_cells) . ')');
                 $sheet->setCellValueByColumnAndRow($oos_col + 2, $row, '=sum(' . implode(",", $withstock_row_cells) . ')');
                 $sheet->setCellValueByColumnAndRow($oos_col + 3, $row, '=sum(' . implode(",", $total_row_cells) . ')');
                 $sheet->setCellValueByColumnAndRow($oos_col + 4, $row, '=IFERROR(' . \PHPExcel_Cell::stringFromColumnIndex($oos_col + 2) . $row . '/SUM(' . \PHPExcel_Cell::stringFromColumnIndex($oos_col + 1) . $row . ',' . \PHPExcel_Cell::stringFromColumnIndex($oos_col + 2) . $row . '),"")');
             });
         })->download('xlsx');
     }
 }
Beispiel #26
0
 /**
  * provide fluent interface for DateTime::setISODate()
  */
 public function setISODate($year, $week, $day = null)
 {
     parent::setISODate($year, $week, $day);
     return $this;
 }
Beispiel #27
0
 /**
  * Validates the given date_query values and triggers errors if something is not valid.
  *
  * Note that date queries with invalid date ranges are allowed to
  * continue (though of course no items will be found for impossible dates).
  * This method only generates debug notices for these cases.
  *
  * @since  4.1.0
  * @access public
  *
  * @param  array $date_query The date_query array.
  * @return bool  True if all values in the query are valid, false if one or more fail.
  */
 public function validate_date_values($date_query = array())
 {
     if (empty($date_query)) {
         return false;
     }
     $valid = true;
     /*
      * Validate 'before' and 'after' up front, then let the
      * validation routine continue to be sure that all invalid
      * values generate errors too.
      */
     if (array_key_exists('before', $date_query) && is_array($date_query['before'])) {
         $valid = $this->validate_date_values($date_query['before']);
     }
     if (array_key_exists('after', $date_query) && is_array($date_query['after'])) {
         $valid = $this->validate_date_values($date_query['after']);
     }
     // Array containing all min-max checks.
     $min_max_checks = array();
     // Days per year.
     if (array_key_exists('year', $date_query)) {
         /*
          * If a year exists in the date query, we can use it to get the days.
          * If multiple years are provided (as in a BETWEEN), use the first one.
          */
         if (is_array($date_query['year'])) {
             $_year = reset($date_query['year']);
         } else {
             $_year = $date_query['year'];
         }
         $max_days_of_year = date('z', mktime(0, 0, 0, 12, 31, $_year)) + 1;
     } else {
         // otherwise we use the max of 366 (leap-year)
         $max_days_of_year = 366;
     }
     $min_max_checks['dayofyear'] = array('min' => 1, 'max' => $max_days_of_year);
     // Days per week.
     $min_max_checks['dayofweek'] = array('min' => 1, 'max' => 7);
     // Days per week.
     $min_max_checks['dayofweek_iso'] = array('min' => 1, 'max' => 7);
     // Months per year.
     $min_max_checks['month'] = array('min' => 1, 'max' => 12);
     // Weeks per year.
     if (isset($_year)) {
         // If we have a specific year, use it to calculate number of weeks.
         $date = new DateTime();
         $date->setISODate($_year, 53);
         $week_count = $date->format("W") === "53" ? 53 : 52;
     } else {
         // Otherwise set the week-count to a maximum of 53.
         $week_count = 53;
     }
     $min_max_checks['week'] = array('min' => 1, 'max' => $week_count);
     // Days per month.
     $min_max_checks['day'] = array('min' => 1, 'max' => 31);
     // Hours per day.
     $min_max_checks['hour'] = array('min' => 0, 'max' => 23);
     // Minutes per hour.
     $min_max_checks['minute'] = array('min' => 0, 'max' => 59);
     // Seconds per minute.
     $min_max_checks['second'] = array('min' => 0, 'max' => 59);
     // Concatenate and throw a notice for each invalid value.
     foreach ($min_max_checks as $key => $check) {
         if (!array_key_exists($key, $date_query)) {
             continue;
         }
         // Throw a notice for each failing value.
         foreach ((array) $date_query[$key] as $_value) {
             $is_between = $_value >= $check['min'] && $_value <= $check['max'];
             if (!is_numeric($_value) || !$is_between) {
                 $error = sprintf(__('Invalid value %1$s for %2$s. Expected value should be between %3$s and %4$s.'), '<code>' . esc_html($_value) . '</code>', '<code>' . esc_html($key) . '</code>', '<code>' . esc_html($check['min']) . '</code>', '<code>' . esc_html($check['max']) . '</code>');
                 _doing_it_wrong(__CLASS__, $error, '4.1.0');
                 $valid = false;
             }
         }
     }
     // If we already have invalid date messages, don't bother running through checkdate().
     if (!$valid) {
         return $valid;
     }
     $day_month_year_error_msg = '';
     $day_exists = array_key_exists('day', $date_query) && is_numeric($date_query['day']);
     $month_exists = array_key_exists('month', $date_query) && is_numeric($date_query['month']);
     $year_exists = array_key_exists('year', $date_query) && is_numeric($date_query['year']);
     if ($day_exists && $month_exists && $year_exists) {
         // 1. Checking day, month, year combination.
         if (!wp_checkdate($date_query['month'], $date_query['day'], $date_query['year'], sprintf('%s-%s-%s', $date_query['year'], $date_query['month'], $date_query['day']))) {
             /* translators: 1: year, 2: month, 3: day of month */
             $day_month_year_error_msg = sprintf(__('The following values do not describe a valid date: year %1$s, month %2$s, day %3$s.'), '<code>' . esc_html($date_query['year']) . '</code>', '<code>' . esc_html($date_query['month']) . '</code>', '<code>' . esc_html($date_query['day']) . '</code>');
             $valid = false;
         }
     } elseif ($day_exists && $month_exists) {
         /*
          * 2. checking day, month combination
          * We use 2012 because, as a leap year, it's the most permissive.
          */
         if (!wp_checkdate($date_query['month'], $date_query['day'], 2012, sprintf('2012-%s-%s', $date_query['month'], $date_query['day']))) {
             /* translators: 1: month, 2: day of month */
             $day_month_year_error_msg = sprintf(__('The following values do not describe a valid date: month %1$s, day %2$s.'), '<code>' . esc_html($date_query['month']) . '</code>', '<code>' . esc_html($date_query['day']) . '</code>');
             $valid = false;
         }
     }
     if (!empty($day_month_year_error_msg)) {
         _doing_it_wrong(__CLASS__, $day_month_year_error_msg, '4.1.0');
     }
     return $valid;
 }
Beispiel #28
0
/**
 get local time zone offset from GMT. Does not handle historical timezones before 1970.
*/
function adodb_get_gmt_diff($y, $m, $d)
{
    static $TZ, $tzo;
    global $ADODB_DATETIME_CLASS;
    if (!defined('ADODB_TEST_DATES')) {
        $y = false;
    } else {
        if ($y < 1970 || $y >= 2038) {
            $y = false;
        }
    }
    if ($ADODB_DATETIME_CLASS && $y !== false) {
        $dt = new DateTime();
        $dt->setISODate($y, $m, $d);
        if (empty($tzo)) {
            $tzo = new DateTimeZone(date_default_timezone_get());
            #	$tzt = timezone_transitions_get( $tzo );
        }
        return -$tzo->getOffset($dt);
    } else {
        if (isset($TZ)) {
            return $TZ;
        }
        $y = date('Y');
        $TZ = mktime(0, 0, 0, 12, 2, $y, 0) - gmmktime(0, 0, 0, 12, 2, $y, 0);
    }
    return $TZ;
}
Beispiel #29
0
echo "{$dates['4']}";
?>
)</td>
    <td class="cal_day"><b>Friday</b>(<?php 
echo "{$dates['5']}";
?>
)</td>
    <td class="cal_day"><b>Saturday</b>(<?php 
echo "{$dates['6']}";
?>
)</td>
  </tr>

<?php 
$date = new DateTime();
$date_by_week = $date->setISODate($year, $week_no, 0);
//30th week 5th day
$first = $date->format("Y-m-d");
$date_by_week = $date->setISODate($year, $week_no, 6);
$last = $date->format("Y-m-d");
$subs = "T00:00:00Z";
$first_date_of_week = $first . $subs;
$last_date_of_week = $last . $subs;
$client = new CalendarClient("Amal", "aaa");
$resMessage = $client->getEvents("{$first_date_of_week}", "{$last_date_of_week}");
if ($resMessage) {
    $simplexml = new SimpleXMLElement($resMessage->str);
    $i = 0;
    $j = 0;
    $k = 0;
    while ($temp = $simplexml->event[$i]->name) {
Beispiel #30
0
function getIsoWeeksInYear($year)
{
    $date = new DateTime();
    $date->setISODate($year, 53);
    return $date->format("W") === "53" ? 53 : 52;
}