<?php
// $REQUEST[‘src’] = “martedi 29”;
// $REQUEST[‘src’] = “martedi 22”;
$REQUEST[‘src’] = “il primo giorno disponibile”;
$dataTiming = array(
“26”=>array(“primo”,”secondo”,”terzo”,”quarto”,”precedente”,”prossimo”,”successivo”,”ultimo”),
“14”=>array(“first”,”secord”,”third”,”fourth”,”last”,”next”,”next”,”lastmonth”)
);
$dataWeek = array(
“26”=>array(“giorno”,”lunedi”,”martedi”,”mercoledi”,”giovedi”,”venerdi”,”sabato”,”domenica”),
“14”=>array(“day”,”monday”,”tuesday”,”wednesday”,”thursday”,”friday”,”saturday”,”sunday”)
);
$dataDays = array(
“26”=>array(“disponibile”,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”11″,”12″,”13″,”14″,”15″,”16″,”17″,”18″,”19″,”20″,”21″,”22″,”23″,”24″,”25″,”26″,”27″,”28″,”29″,”30″,”31″));
$dataMonths = array(
“26”=>array(“mese”,”gennaio”,”febbraio”,”marzo”,”aprile”,”maggio”,”giugno”,”luglio”,”agosto”,”settembre”,”ottobre”,”novembre”,”dicembre”),
“14”=>array(“month”,”january”,”february”,”march”,”april”,”may”,”june”,”july”,”august”,”september”,”october”,”vovember”,”december”)
);
// Ricerca
$_res_T = fn_searchWords($REQUEST[‘src’], $dataTiming[26]);
$_res_W = fn_searchWords($REQUEST[‘src’], $dataWeek[26]);
$_res_D = fn_searchWords($REQUEST[‘src’], $dataDays[26]);
$_res_M = fn_searchWords($REQUEST[‘src’], $dataMonths[26]);
$_now = date(‘Y-m-d N’);
echo $_res_T . ‘-‘ . $_res_W . ‘-‘ . $_res_D . ‘-‘ . $_res_M . ‘ | ‘;
// Giorno con un Timing
if($_res_W != “” AND $_res_T != “”) {
if($dataTiming[14][$_res_T] == ‘lastmonth’) {
echo “1. ” . date(‘l jS F (Y-m-d)’, strtotime(‘last ‘ . $dataWeek[14][$_res_W] . ‘ of this month’)); // Ultimo martedi del mese1
} else {
echo “2. ” . date(‘l jS F (Y-m-d)’, strtotime($dataTiming[14][$_res_T] . ‘ ‘ . $dataWeek[14][$_res_W]));
}
} else if($_res_W != “” AND $_res_T == “” AND $_res_D == “”) {
// Giorno senza Timing e senza data
echo “3. ” . date(‘l jS F (Y-m-d)’, strtotime(‘next ‘ . $dataWeek[14][$_res_W]));
} else if($_res_W != “” AND $_res_T == “” AND $_res_D != “”) {
// Giorno preciso
if($_res_M != “” AND $_res_D != “”) {
// Indicato giorno e mese (22 novembre)
$_year = date(‘Y’);
if(date(‘n’) > $_res_M) { $_year++; }
echo ‘4. ‘ . date(‘l jS F (Y-m-d)’, strtotime($_year . ‘-‘ . $_res_M . ‘-‘ . $_res_D));
} else if($_res_M == “” AND $_res_D != “”) {
// Indicato giorno e data (martedi 22)
$_year = date(‘Y’); $_month = date(‘n’);
if(date(‘n’) == ’12’ AND date(‘j’) > $_res_D) {
$_year++; $_month = 1;
} else if(date(‘n’) < ’12’ AND date(‘j’) > $_res_D) {
$_month++;
}
echo ‘5. ‘ . date(‘l jS F (Y-m-d)’, strtotime($_year . ‘-‘ . $_month . ‘-‘ . $_res_D));
}
}
// echo ‘
// {
// “error”:”none”,
// “message”:”test OK”,
// “timing”:”‘ . $_res_d1 . ‘ (‘ . $dataTiming[26][$_res_d1] . ‘)”,
// “week”:”‘ . $_res_d2 . ‘ (‘ . $dataWeek[26][$_res_d2] . ‘)”,
// “day”:”‘ . $_res_d3 . ‘ (‘ . $dataDays[26][$_res_d3] . ‘)”
// }’;
function fn_searchWords($string, $array){
$_string = explode(” “,$string);
foreach($_string as $_word){
if(array_search($_word, $array) !== false) { return(array_search($_word, $array, false)); }
}
}