コード例 #1
0
ファイル: jdf.php プロジェクト: jnaroogheh/darvishi
function jdate($format, $timestamp = '', $none = '', $time_zone = 'Asia/Tehran', $tr_num = 'fa')
{
    $T_sec = '0';
    /* <= رفع خطای زمان سرور ، با اعداد '+' و '-' بر حسب ثانیه */
    if ($time_zone == '') {
        $time_zone = 'Asia/Tehran';
    }
    date_default_timezone_set($time_zone);
    $ts = ($timestamp == '' or $timestamp == 'now') ? time() + $T_sec : tr_num($timestamp) + $T_sec;
    $date = explode('_', date('a_d_m_N_w_Y', $ts));
    list($j_y, $j_m, $j_d) = jgregorian_to_jalali($date[5], $date[2], $date[1]);
    $doy = $j_m < 7 ? ($j_m - 1) * 31 + $j_d - 1 : ($j_m - 7) * 30 + $j_d + 185;
    $kab = $j_y % 4 == 3 ? 1 : 0;
    $out = '';
    for ($i = 0; $i < strlen($format); $i++) {
        $sub = substr($format, $i, 1);
        if ($sub == '\\') {
            $out .= substr($format, $i + 1, 1);
            $i++;
        }
        switch ($sub) {
            case 'C':
            case 'E':
            case 'R':
            case 'x':
            case 'X':
                $out .= '<a href="http:/
/jdf.scr.ir/">دریافت نسخه ی جدید http://jdf.scr.ir</a>';
                break;
            case '\\':
                $out .= '';
                break;
            case 'B':
            case 'e':
            case 'g':
            case 'G':
            case 'h':
            case 'H':
            case 'i':
            case 'I':
            case 'O':
            case 'P':
            case 's':
            case 'T':
            case 'u':
            case 'Z':
                /* */
                $out .= date($sub, $ts);
                break;
            case 'a':
                $out .= $date[0] == 'pm' ? 'ب.ظ' : 'ق.ظ';
                break;
            case 'A':
                $out .= $date[0] == 'pm' ? 'بعد از ظهر' : 'قبل از ظهر';
                break;
            case 'b':
                $out .= ceil($j_m / 3);
                break;
            case 'c':
                $out .= jdate('Y/n/j ,H:i:s P', $ts, '', $time_zone, $tr_num);
                break;
            case 'd':
                $out .= $j_d < 10 ? '0' . $j_d : $j_d;
                break;
            case 'D':
                $key = array('ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش');
                $out .= $key[$date[4]];
                break;
            case 'f':
                $key = array('بهار', 'تابستان', 'پاییز', 'زمستان');
                $out .= $key[ceil($j_m / 3) - 1];
                break;
            case 'F':
                $key = array('فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند');
                $out .= $key[$j_m - 1];
                break;
            case 'j':
                $out .= $j_d;
                break;
            case 'J':
                $key = array('یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه', 'ده', 'یازده', 'دوازده', 'سیزده', 'چهارده', 'پانزده', 'شانزده', 'هفده', 'هجده', 'نوزده', 'بیست', 'بیست و یک', 'بیست و دو', 'بیست و سه', 'بیست و چهار', 'بیست و پنج', 'بیست و شش', 'بیست و هفت', 'بیست و هشت', 'بیست و نه', 'سی', 'سی و یک');
                $out .= $key[$j_d - 1];
                break;
            case 'k':
                $out .= 100 - round($doy / ($kab + 365) * 100, 1);
                break;
            case 'K':
                $out .= round($doy / ($kab + 365) * 100, 1);
                break;
            case 'l':
                $key = array('یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه');
                $out .= $key[$date[4]];
                break;
            case 'L':
                $out .= $kab;
                break;
            case 'm':
                $out .= $j_m < 10 ? '0' . $j_m : $j_m;
                break;
            case 'M':
                $key = array('فر', 'ار', 'خر', 'تی‍', 'مر', 'شه‍', 'مه‍', 'آب‍', 'آذ', 'دی', 'به‍', 'اس‍');
                $out .= $key[$j_m - 1];
                break;
            case 'n':
                $out .= $j_m;
                break;
            case 'N':
                $out .= $date[3] != 7 ? $date[3] + 1 : 1;
                break;
            case 'o':
                $jdw = jdate('w', $ts, '', $time_zone, 'en');
                $dny = 364 + $kab - $doy;
                $out .= ($doy < 3 and $jdw > $doy + 3) ? $j_y - 1 : (($dny < 3 and 3 - $dny > $jdw) ? $j_y + 1 : $j_y);
                break;
            case 'p':
                $key = array('حمل', 'ثور', 'جوزا', 'سرطان', 'اسد', 'سنبله', 'میزان', 'عقرب', 'قوس', 'جدی', 'دلو', 'حوت');
                $out .= $key[$j_m - 1];
                break;
            case 'q':
                $key = array('مار', 'اسب', 'گوسفند', 'میمون', 'مرغ', 'سگ', 'خوک', 'موش', 'گاو', 'پلنگ', 'خرگوش', 'نهنگ');
                $out .= $key[$j_y % 12];
                break;
            case 'Q':
                $out .= $kab + 364 - $doy;
                break;
            case 'r':
                $out .= jdate('H:i:s O l, j F Y', $ts, '', $time_zone, $tr_num);
                break;
            case 'S':
                $out .= 'ام';
                break;
            case 't':
                $out .= $j_m != 12 ? 31 - (int) ($j_m / 6.5) : $kab + 29;
                break;
            case 'U':
                $out .= $ts;
                break;
            case 'v':
                $xy3 = substr($j_y, 2, 1);
                $xy34 = substr($j_y, 2, 2);
                $xy4 = substr($j_y, 3, 1);
                $h3 = $h34 = $h4 = '';
                if ($xy3 == 1) {
                    $p34 = '';
                    $k34 = array('ده', 'یازده', 'دوازده', 'سیزده', 'چهارده', 'پانزده', 'شانزده', 'هفده', 'هجده', 'نوزده');
                    $h34 = $k34[$xy34 - 10];
                } else {
                    $p34 = ($xy3 == 0 or $xy4 == 0) ? '' : ' و ';
                    $k3 = array('', '', 'بیست', 'سی', 'چهل', 'پنجاه', 'شصت', 'هفتاد', 'هشتاد', 'نود');
                    $h3 = $k3[$xy3];
                    $k4 = array('', 'یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه');
                    $h4 = $k4[$xy4];
                }
                $out .= $h3 . $p34 . $h34 . $h4;
                break;
            case 'V':
                $xy12 = substr($j_y, 0, 2);
                $xy34 = substr($j_y, 2, 2);
                $n12 = array('00', '13', '14');
                $k12 = array('', 'هزار و سیصد', 'هزار و چهارصد');
                $h12 = str_ireplace($n12, $k12, $xy12);
                $p23 = $xy34 == '00' ? '' : ' و ';
                $h34 = jdate('v', $ts, '', $time_zone);
                $out .= $h12 . $p23 . $h34;
                break;
            case 'w':
                $out .= $date[4] != 6 ? $date[4] + 1 : 0;
                break;
            case 'W':
                $avs = jdate('w', $ts - $doy * 86400, '', $time_zone, 'en');
                $num = (int) (($doy + $avs) / 7);
                if ($avs < 4) {
                    $num++;
                } elseif ($num < 1) {
                    $num = ($avs == ($j_y % 4 == 0 ? 5 : 4) or $avs == 4) ? 53 : 52;
                }
                $aks = $avs + $kab;
                if ($aks == 7) {
                    $aks = 0;
                }
                $out .= ($aks < 3 and $kab + 363 - $doy < $aks) ? '01' : ($num < 10 ? '0' . $num : $num);
                break;
            case 'y':
                $out .= substr($j_y, 2, 2);
                break;
            case 'Y':
                $out .= $j_y;
                break;
            case 'z':
                $out .= $doy;
                break;
            default:
                $out .= $sub;
        }
    }
    return ($tr_num == 'fa' or $tr_num == '') ? tr_num($out, 'fa') : $out;
}
コード例 #2
0
ファイル: search.php プロジェクト: jnaroogheh/darvishi
} else {
    $date_ta2 = '';
    $ta_fa_next = '';
    $ta_fa_pre = '';
}
if ($_SESSION['aztarikh']) {
    $arr_az = explode('/', $_SESSION['aztarikh']);
    $date_az = date_create(jalali_to_jgregorian($arr_az[0], $arr_az[1], $arr_az[2], '-'));
    $date_az2 = date_create(jalali_to_jgregorian($arr_az[0], $arr_az[1], $arr_az[2], '-'));
    //var_dump($date_az);
    $az_next = date_format($date_az->modify('+1 day'), 'Y-m-d');
    $az_pre = date_format($date_az->modify('-2 day'), 'Y-m-d');
    $arr_fa_pre = explode('-', $az_pre);
    $az_fa_pre = jgregorian_to_jalali($arr_fa_pre[0], $arr_fa_pre[1], $arr_fa_pre[2], '/');
    $arr_fa_next = explode('-', $az_next);
    $az_fa_next = jgregorian_to_jalali($arr_fa_next[0], $arr_fa_next[1], $arr_fa_next[2], '/');
} else {
    $az_fa_next = '';
    $az_fa_pre = '';
}
$tmpp = '';
if (isset($_REQUEST['adult'])) {
    $res = new reserve_class();
    $adl = (int) $_REQUEST['adult'];
    $chd = (int) $_REQUEST['child'];
    $inf = (int) $_REQUEST['inf'];
    $class_ghimat = $_REQUEST['class_ghimat'];
    $ip = getenv("REMOTE_ADDR");
    if (!$ip) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
コード例 #3
0
 public function handleResult($result)
 {
     $res = simplexml_load_string($result);
     $flights = array();
     $flight_extras = array();
     $specific_fields = array();
     //print_r($res);
     if (isset($res->Errors)) {
         return FALSE;
     }
     $priced_itineraries = $res->PricedItineraries->PricedItinerary;
     if (isset($priced_itineraries)) {
         foreach ($priced_itineraries as $priced_itinerary) {
             var_dump($priced_itinerary);
             $flight_segment = $priced_itinerary->AirItinerary->OriginDestinationOptions->OriginDestinationOption->FlightSegment;
             $flight_attr = $flight_segment->attributes();
             $departure = str_replace("T", " ", $flight_attr->DepartureDateTime);
             $dep = explode(" ", $departure);
             list($dep_year, $dep_month, $dep_day) = explode('-', $dep[0]);
             list($dep_year, $dep_month, $dep_day) = jgregorian_to_jalali($dep_year, $dep_month, $dep_day);
             $dep_month = str_pad($dep_month, 2, 0);
             $dep_day = str_pad($dep_day, 2, 0);
             $dep_date = $dep_year . '-' . $dep_month . '-' . $dep_day;
             $arrival = str_replace("T", " ", $flight_attr->ArrivalDateTime);
             $duration = (strtotime($arrival) - strtotime($departure)) / 60;
             $ltime = explode(" ", $arrival);
             $ltime = $ltime[1];
             //   $book_class=$flight_segment->BookingClassAvails->BookingClassAvail->attributes();
             $from = $flight_segment->DepartureAirport->attributes();
             $to = $flight_segment->ArrivalAirport->attributes();
             $flight_class = $flight_segment->BookingClassAvails->BookingClassAvail->attributes();
             // if(!isset($flight_class->ResBookDesigCode))  continue;
             //var_dump($flight_class);
             // if(is_object($flight_class) && $flight_class->ResBookDesigQuantity!=0){
             echo "\n COUNT :: " . @count($flight_segment->BookingClassAvails->children()) . "\n";
             if (!empty($flight_segment->BookingClassAvails) && $flight_class->ResBookDesigQuantity != 0) {
                 $flights[] = array('agency_id' => 0, 'flight_number' => $flight_attr->FlightNumber, 'flight_id' => 0, 'from' => $from->LocationCode, 'to' => $to->LocationCode, 'capacity' => $flight_class->ResBookDesigQuantity, 'fdate' => $dep_date, 'ftime' => $dep[1], 'ltime' => $ltime, 'class_ghimat' => $flight_class->ResBookDesigCode, 'class' => '1', 'typ' => 1, 'agency_name' => 'Meraj', 'agency_site' => 'http://www.merajairlines.ir', 'source_id' => $this->_source_id);
                 $equip = $flight_segment->Equipment->attributes();
                 $base_fare = $priced_itinerary->AirItineraryPricingInfo->ItinTotalFare->BaseFare->attributes();
                 $taxes = array();
                 $taxes = $priced_itinerary->AirItineraryPricingInfo->PTC_FareBreakdowns->PTC_FareBreakdown->PassengerFare->Taxes->Tax;
                 $sum_tax = 0;
                 if (isset($taxes) && is_array($taxes)) {
                     foreach ($taxes as $tax) {
                         $sum_tax += $tax;
                     }
                 }
                 $flight_extras[] = array('airline' => 'Meraj', 'airplane' => $equip->AirEquipType, 'description' => '', 'extra' => 0, 'excurrency' => '', 'extrad' => '', 'public' => '', 'poursant' => '', 'day' => '', 'add_price' => '', 'no_public' => '', 'open_price' => '', 'open_price_currency' => '', 'bfid' => '', 'target_capa' => '', 'price' => $base_fare->Amount, 'currency' => $this->currency($base_fare->CurrencyCode), 'tax' => $sum_tax, 'taxd' => '', 'source_id' => $this->_source_id, 'tell_time' => 60);
                 $dep_term = $flight_segment->DepartureAirport->attributes();
                 $avl_term = $flight_segment->ArrivalAirport->attributes();
                 $opr_aL = $flight_segment->OperatingAirline->attributes();
                 $total_fare = $priced_itinerary->AirItineraryPricingInfo->ItinTotalFare->TotalFare->attributes();
                 $specific_fields[] = array('ResBookDesigCode' => $flight_attr->ResBookDesigCode, 'ArrivalDateTime' => $flight_attr->ArrivalDateTime, 'StopQuantity' => $flight_attr->StopQuantity, 'RPH' => $flight_attr->RPH, 'DepartureTerminal' => $dep_term->Terminal, 'ArrivalTerminal' => $avl_term->Terminal, 'OperatingAirline' => $opr_aL->Code, 'BaseFareDecimalPlaces' => $base_fare->DecimalPlaces, 'TotalFareCurrencyCode' => $total_fare->CurrencyCode, 'TotalFareDecimalPlaces' => $total_fare->DecimalPlaces, 'TotalFareAmount' => $total_fare->Amount, 'currency' => $base_fare->CurrencyCode, 'DepartureDateTime' => $flight_attr->DepartureDateTime, 'ArrivalAirportArr' => $flight_attr->ArrivalAirportArr, 'AirEquipType' => $equip->AirEquipType, 'BaseFare' => $base_fare->Amount, 'TotalFare' => $total_fare->Amount);
             }
         }
     }
     return array('flights' => $flights, 'flight_extras' => $flight_extras, 'specific_fields' => $specific_fields);
 }
コード例 #4
0
ファイル: requestresult.php プロジェクト: jnaroogheh/darvishi
if (isset($_GET['tatarikh']) && $_GET['tatarikh']) {
    $ta_fa_next = '';
    $dtmp = explode('/', $_REQUEST['tatarikh']);
    $mtmp = jalali_to_jgregorian($dtmp[0], $dtmp[1], $dtmp[2], '-');
    $current_ta_date = new DateTime($mtmp);
    $current_en_ta_currentdate_str = $current_ta_date->format('Y-m-d');
    $arr_currentday = explode('-', $current_en_ta_currentdate_str);
    $current_fa_ta_str = jgregorian_to_jalali($arr_currentday[0], $arr_currentday[1], $arr_currentday[2], '/');
    $current_ta_date->add(new DateInterval('P1D'));
    $next_en_ta_str = $current_ta_date->format('Y-m-d');
    $arr_nextday = explode('-', $next_en_ta_str);
    $next_fa_ta_str = jgregorian_to_jalali($arr_nextday[0], $arr_nextday[1], $arr_nextday[2], '/');
    $current_ta_date->sub(new DateInterval('P2D'));
    $pre_en_ta_str = $current_ta_date->format('Y-m-d');
    $arr_preday = explode('-', $pre_en_ta_str);
    $pre_fa_ta_str = jgregorian_to_jalali($arr_preday[0], $arr_preday[1], $arr_preday[2], '/');
} else {
    $pre_fa_ta_str = '';
    $next_fa_ta_str = '';
    $current_fa_ta_str = '';
}
var_dump($results_tmp);
exit;
//if (isset($results_tmp[0]['err']['code']) && $results_tmp[0]['err']['code'] == 1 && $results_tmp[0]['err']['msg'] != '') {//proccesing state
//    //check if data recived ?
//    echo json_encode(array(
//        $results_tmp[0]['err']
//    ));
//} else
if (isset($results_tmp[0]['err']['code']) && $results_tmp[0]['err']['code'] == 1 && $results_tmp[0]['err']['msg'] == '') {
    // fail state