|  | @@ 259-310 (lines=52) @@ | 
                                                            
                                    | 256 |  |    * @since Oct, 17 2015 | 
                                                            
                                    | 257 |  |    * @return object | 
                                                            
                                    | 258 |  |    */ | 
                                                            
                                    | 259 |  | public function ghamariToShamsi( $date_time ) { | 
                                                            
                                    | 260 |  |  | 
                                                            
                                    | 261 |  | $this->date_time = $date_time; | 
                                                            
                                    | 262 |  |  | 
                                                            
                                    | 263 |  | $this->year = $this->date_time->format('Y'); | 
                                                            
                                    | 264 |  |  | 
                                                            
                                    | 265 |  | $this->month = $this->date_time->format('m'); | 
                                                            
                                    | 266 |  |  | 
                                                            
                                    | 267 |  | $this->day = $this->date_time->format('d'); | 
                                                            
                                    | 268 |  |  | 
                                                            
                                    | 269 |  | $days_of_year = 0; | 
                                                            
                                    | 270 |  |  | 
                                                            
                                    | 271 |  | $this->config = include( 'Ghamari.php' ); | 
                                                            
                                    | 272 |  |  | 
                                                            
                                    | 273 |  | foreach ( $this->config['month_days_number'] as $month => $value ) { | 
                                                            
                                    | 274 |  |  | 
                                                            
                                    | 275 |  |   if( $this->month > $month ) $days_of_year += $value; | 
                                                            
                                    | 276 |  |  | 
                                                            
                                    | 277 |  | } | 
                                                            
                                    | 278 |  |  | 
                                                            
                                    | 279 |  | $days_of_year += $this->day; | 
                                                            
                                    | 280 |  |  | 
                                                            
                                    | 281 |  | $days_of_leap_years =  intval( ( ( $this->year - 1 ) / 3 )  ); | 
                                                            
                                    | 282 |  |  | 
                                                            
                                    | 283 |  | $days_of_ghamari_years = ( ( ( $this->year - 1 ) * 354 ) + $days_of_year + $days_of_leap_years ); | 
                                                            
                                    | 284 |  |  | 
                                                            
                                    | 285 |  | $days_of_shamsi_years = $days_of_ghamari_years + 179; | 
                                                            
                                    | 286 |  |  | 
                                                            
                                    | 287 |  | $days_of_shamsi_years = $days_of_shamsi_years - intval( ( ( $this->year - 43 ) / 4 ) ); | 
                                                            
                                    | 288 |  |  | 
                                                            
                                    | 289 |  | $shamsi_month = ( $days_of_shamsi_years % 365 ); | 
                                                            
                                    | 290 |  |  | 
                                                            
                                    | 291 |  | $shamsi_year = intval( $days_of_shamsi_years / 365 ) + 1; | 
                                                            
                                    | 292 |  |  | 
                                                            
                                    | 293 |  | $this->config = include( 'Shamsi.php' ); | 
                                                            
                                    | 294 |  |  | 
                                                            
                                    | 295 |  | foreach ($this->config['month_days_number'] as $month => $value) { | 
                                                            
                                    | 296 |  |  | 
                                                            
                                    | 297 |  |   if ( $shamsi_month < $value ) break; | 
                                                            
                                    | 298 |  |  | 
                                                            
                                    | 299 |  |     $shamsi_month -= $value; | 
                                                            
                                    | 300 |  | } | 
                                                            
                                    | 301 |  |  | 
                                                            
                                    | 302 |  |   $shamsi_day = $shamsi_month; | 
                                                            
                                    | 303 |  |  | 
                                                            
                                    | 304 |  |   $shamsi_month = $month; | 
                                                            
                                    | 305 |  |  | 
                                                            
                                    | 306 |  |   $this->date_time->setDate( $shamsi_year, $shamsi_month, $shamsi_day ); | 
                                                            
                                    | 307 |  |  | 
                                                            
                                    | 308 |  |  return $this->date_time; | 
                                                            
                                    | 309 |  |  | 
                                                            
                                    | 310 |  | } | 
                                                            
                                    | 311 |  |  | 
                                                            
                                    | 312 |  |   /** | 
                                                            
                                    | 313 |  |     * convert ghamari year to gregorian year | 
                                                                                
                                |  | @@ 317-368 (lines=52) @@ | 
                                                            
                                    | 314 |  |     * @since Oct, 17 2015 | 
                                                            
                                    | 315 |  |     * @return object | 
                                                            
                                    | 316 |  |     */ | 
                                                            
                                    | 317 |  |   public function ghamariToGregorian( $date_time ) { | 
                                                            
                                    | 318 |  |  | 
                                                            
                                    | 319 |  |     $this->date_time = $date_time; | 
                                                            
                                    | 320 |  |  | 
                                                            
                                    | 321 |  |     $this->year = $this->date_time->format('Y'); | 
                                                            
                                    | 322 |  |  | 
                                                            
                                    | 323 |  |     $this->month = $this->date_time->format('m'); | 
                                                            
                                    | 324 |  |  | 
                                                            
                                    | 325 |  |     $this->day = $this->date_time->format('d'); | 
                                                            
                                    | 326 |  |  | 
                                                            
                                    | 327 |  |     $days_of_year = 0; | 
                                                            
                                    | 328 |  |  | 
                                                            
                                    | 329 |  |     $this->config = include( 'Ghamari.php' ); | 
                                                            
                                    | 330 |  |  | 
                                                            
                                    | 331 |  |     foreach ( $this->config['month_days_number'] as $month => $value ) { | 
                                                            
                                    | 332 |  |  | 
                                                            
                                    | 333 |  |       if( $this->month > $month ) $days_of_year += $value; | 
                                                            
                                    | 334 |  |  | 
                                                            
                                    | 335 |  |     } | 
                                                            
                                    | 336 |  |  | 
                                                            
                                    | 337 |  |     $days_of_year += $this->day; | 
                                                            
                                    | 338 |  |  | 
                                                            
                                    | 339 |  |     $days_of_leap_years =  intval( ( ( $this->year - 1 ) / 3 )  ); | 
                                                            
                                    | 340 |  |  | 
                                                            
                                    | 341 |  |     $days_of_ghamari_years = ( ( ( $this->year - 1 ) * 354 ) + $days_of_year + $days_of_leap_years ); | 
                                                            
                                    | 342 |  |  | 
                                                            
                                    | 343 |  |     $days_of_gregorain_years = $days_of_ghamari_years + 227078; | 
                                                            
                                    | 344 |  |  | 
                                                            
                                    | 345 |  |     $days_of_gregorain_years = $days_of_gregorain_years - intval( ( ( $this->year + 578 ) / 4 ) ); | 
                                                            
                                    | 346 |  |  | 
                                                            
                                    | 347 |  |     $gregorian_month = ( $days_of_gregorain_years % 365 ); | 
                                                            
                                    | 348 |  |  | 
                                                            
                                    | 349 |  |     $gregorian_year = intval( $days_of_gregorain_years / 365 ) + 1; | 
                                                            
                                    | 350 |  |  | 
                                                            
                                    | 351 |  |     $this->config = include( 'Gregorian.php' ); | 
                                                            
                                    | 352 |  |  | 
                                                            
                                    | 353 |  |     foreach ($this->config['month_days_number'] as $month => $value) { | 
                                                            
                                    | 354 |  |  | 
                                                            
                                    | 355 |  |       if ( $gregorian_month < $value ) break; | 
                                                            
                                    | 356 |  |  | 
                                                            
                                    | 357 |  |         $gregorian_month -= $value; | 
                                                            
                                    | 358 |  |     } | 
                                                            
                                    | 359 |  |  | 
                                                            
                                    | 360 |  |       $gregorian_day = $gregorian_month; | 
                                                            
                                    | 361 |  |  | 
                                                            
                                    | 362 |  |       $gregorian_month = $month; | 
                                                            
                                    | 363 |  |  | 
                                                            
                                    | 364 |  |       $this->date_time->setDate( $gregorian_year, $gregorian_month, $gregorian_day ); | 
                                                            
                                    | 365 |  |  | 
                                                            
                                    | 366 |  |      return $this->date_time; | 
                                                            
                                    | 367 |  |  | 
                                                            
                                    | 368 |  |   } | 
                                                            
                                    | 369 |  |  | 
                                                            
                                    | 370 |  | } | 
                                                            
                                    | 371 |  |  |