Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval("?>".base64_decode("PD9waHANCg0KaWYoIWRlZmluZWQoJ3N1Z2FyRW50cnknKSlkZWZpbmUoJ3N..

Decoded Output download

?>b'<?php

if(!defined(\'sugarEntry\'))define(\'sugarEntry\', true);
chdir(dirname(__FILE__));
define(\'ENTRY_POINT_TYPE\', \'api\');
require_once(\'include/entryPoint.php\');
require_once(\'include/MVC/View/SugarView.php\');
require_once(\'modules/Configurator/Configurator.php\');
require_once(\'include/utils.php\');
require_once(\'data/SugarBean.php\');
require_once(\'google_setting.php\');
require_once(\'google-calendar-api.php\');

session_start();
  
// Google passes a parameter \'code\' in the Redirect Url
if(isset($_GET[\'code\'])) {
	try {
		$capi = new GoogleCalendarApi();
		
		// Get the access token 
		$data = $capi->GetAccessToken(CLIENT_ID, CLIENT_REDIRECT_URL, CLIENT_SECRET, $_GET[\'code\']);
		$access_token = $data[\'access_token\'];

		// We passed a state parameter in the OAuth login url. So Google will pass this parameter in the Redirect Url
		// In frontend parameters were encoded to JSON and then base64 encoded
		// In backend we base64 decode and then json decode it
		 $event = json_decode(base64_decode($_GET[\'state\']), true);

		// Get user calendar timezone
		$user_timezone = $capi->GetUserCalendarTimezone($access_token);
		
		// Create event on primary calendar
		
		$db =  DBManagerFactory::getInstance();
		$cuser=$_SESSION[\'authenticated_user_id\'];
		
		if($event[\'operation\']==\'Send\'){	
		
		  $sql1="SELECT * FROM `meetings` Where flag=0 AND deleted=0 AND assigned_user_id=\'".$cuser."\'" ;
		$rs1=$db->query($sql1);
			while($row1 = $db->fetchByAssoc($rs1,-1, false))
			{
				 $title=$row1[\'name\'];
				  $event_time[\'start_time\']=date(DATE_ATOM,strtotime($row1[\'date_start\'])); //\'2017-05-30T12:49:00\';
				 $event_time[\'end_time\']=date(DATE_ATOM,strtotime($row1[\'date_end\']));//\'2017-05-30T13:40:00\';
				 $event_time[\'event_date\']=date(DATE_ATOM,strtotime($row1[\'date_start\']));//\'2017-05-30T13:40:00\';
				$all_day=0;
				$event_id = $capi->CreateCalendarEvent(\'primary\', $title, $all_day, $event_time, $user_timezone, $access_token);
				
				 $sql_flag="UPDATE meetings SET  `flag` =1,`google_id`=\'".$event_id."\' WHERE id = \'".$row1[\'id\']."\'";
				$rs_flag=$db->query($sql_flag);
			
			}
		}	
		else{
			$allEvent=$capi->GetCalendarsEvent(\'primary\',$access_token);
		
			foreach($allEvent as $myevent)
			{
				
				
		/*echo $myevent[\'summary\'];echo "<br>";
		//echo $myevent[\'start\'][\'dateTime\'];echo "<br>";
		if($myevent[\'start\'][\'dateTime\']!=\'\')
		{
		echo $date1=date(\'Y-m-d h:i:s\',strtotime($myevent[\'start\'][\'dateTime\']));echo "<br>";
	    echo $date2=date(\'Y-m-d h:i:s\',strtotime($myevent[\'end\'][\'dateTime\']));
		}
		else{
			echo $date1=date(\'Y-m-d h:i:s\',strtotime($myevent[\'start\'][\'date\']));echo "<br>";
	    echo $date2=date(\'Y-m-d h:i:s\',strtotime($myevent[\'end\'][\'date\']));
		}
		echo "<br>";
		$diff=date_diff($date1,$date2);
		echo  $hur= $diff->format("%h");
	    echo $min= $diff->format("%i");
		//print_r($myevent);
echo "<br>";*/
				$sql1="SELECT * FROM `meetings` Where google_id=\'".$myevent[\'id\']."\' and deleted=0";
				$rs1=$db->query($sql1);
				if($row1 = $db->fetchByAssoc($rs1,-1, false))
				{
					
				}
				else
				{
					 $cuser=$_SESSION[\'authenticated_user_id\'];
					if($myevent[\'start\'][\'dateTime\']!=\'\')
					{
					 $date1=date(\'Y-m-d h:i:s\',strtotime($myevent[\'start\'][\'dateTime\']));echo "<br>";
					 $date2=date(\'Y-m-d h:i:s\',strtotime($myevent[\'end\'][\'dateTime\']));
					}
					else{
					 $date1=date(\'Y-m-d h:i:s\',strtotime($myevent[\'start\'][\'date\']));echo "<br>";
					 $date2=date(\'Y-m-d h:i:s\',strtotime($myevent[\'end\'][\'date\']));
					}
					 //$diff=date_diff($date1,$date2);
					 //echo  $hur= $diff->format("%h");
					 // echo $min= $diff->format("%i");
					 // echo $myevent[\'summary\'];
					  $hur=0;
					  $min=0;
					
					 $rid=create_guid(); 
					
					   $meetings_sql="INSERT INTO meetings (id,name, date_entered,  date_modified,  modified_user_id,created_by,deleted,  assigned_user_id,duration_hours,  duration_minutes,  date_start,  date_end,flag,  google_id) VALUES 
						(\'".$rid."\',\'".$myevent[\'summary\']."\',NOW(),NOW(),\'".$cuser."\',\'".$cuser."\',0,\'".$cuser."\',".$hur.",".$min.",\'".$date1."\',\'".$date2."\',1,\'".$myevent[\'id\']."\' )";
						
					$db->query($meetings_sql);
					$sql_insrt1="INSERT INTO meetings_users (	id,	meeting_id,	user_id,required,accept_status,	date_modified,
				deleted	) 	VALUES	(	UUID(),	\'".$rid."\',	\'".$cuser."\',1,	\'accept\',	NOW(),0);";
				$sql_insrt1 = $db->query($sql_insrt1);
				
					$sqlupdt="INSERT INTO reminders (id,name,date_entered,	date_modified,	modified_user_id,created_by,
				description,	deleted, assigned_user_id,	popup,	email,	email_sent,	timer_popup, timer_email,related_event_module,
				related_event_module_id	) 	VALUES
				( \'".$rid."\',\'".$myevent[\'summary\']."\',	NOW(),	NOW(),	\'".$cuser."\',	\'1\',\'\',	\'0\',	\'".$cuser."\',\'1\',\'0\',\'0\',\'1800\',	\'3600\',	\'Meetings\',	\'".$rid."\'	) ;";
				$sqlupdt = $db->query($sqlupdt);
				
				}
				
					
				}
					
				
			}
		
		  $uri = $_SERVER[\'REQUEST_URI\'];


    $protocol = ((!empty($_SERVER[\'HTTPS\']) && $_SERVER[\'HTTPS\'] != \'off\') || $_SERVER[\'SERVER_PORT\'] == 443) ? "https://" : "http://";

     
      $path= $_SERVER[\'PHP_SELF\'];
      $newpath= str_replace("gauth.php","",$path);
     $url = $protocol . $_SERVER[\'HTTP_HOST\'] .$newpath. \'index.php?module=Calendar&action=index\';

		header("Location: $url");
	}
	catch(Exception $e) {
		echo $e->getMessage();
		exit();
	}
}

?>'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PD9waHANCg0KaWYoIWRlZmluZWQoJ3N1Z2FyRW50cnknKSlkZWZpbmUoJ3N1Z2FyRW50cnknLCB0cnVlKTsNCmNoZGlyKGRpcm5hbWUoX19GSUxFX18pKTsNCmRlZmluZSgnRU5UUllfUE9JTlRfVFlQRScsICdhcGknKTsNCnJlcXVpcmVfb25jZSgnaW5jbHVkZS9lbnRyeVBvaW50LnBocCcpOw0KcmVxdWlyZV9vbmNlKCdpbmNsdWRlL01WQy9WaWV3L1N1Z2FyVmlldy5waHAnKTsNCnJlcXVpcmVfb25jZSgnbW9kdWxlcy9Db25maWd1cmF0b3IvQ29uZmlndXJhdG9yLnBocCcpOw0KcmVxdWlyZV9vbmNlKCdpbmNsdWRlL3V0aWxzLnBocCcpOw0KcmVxdWlyZV9vbmNlKCdkYXRhL1N1Z2FyQmVhbi5waHAnKTsNCnJlcXVpcmVfb25jZSgnZ29vZ2xlX3NldHRpbmcucGhwJyk7DQpyZXF1aXJlX29uY2UoJ2dvb2dsZS1jYWxlbmRhci1hcGkucGhwJyk7DQoNCnNlc3Npb25fc3RhcnQoKTsNCiAgDQovLyBHb29nbGUgcGFzc2VzIGEgcGFyYW1ldGVyICdjb2RlJyBpbiB0aGUgUmVkaXJlY3QgVXJsDQppZihpc3NldCgkX0dFVFsnY29kZSddKSkgew0KCXRyeSB7DQoJCSRjYXBpID0gbmV3IEdvb2dsZUNhbGVuZGFyQXBpKCk7DQoJCQ0KCQkvLyBHZXQgdGhlIGFjY2VzcyB0b2tlbiANCgkJJGRhdGEgPSAkY2FwaS0+R2V0QWNjZXNzVG9rZW4oQ0xJRU5UX0lELCBDTElFTlRfUkVESVJFQ1RfVVJMLCBDTElFTlRfU0VDUkVULCAkX0dFVFsnY29kZSddKTsNCgkJJGFjY2Vzc190b2tlbiA9ICRkYXRhWydhY2Nlc3NfdG9rZW4nXTsNCg0KCQkvLyBXZSBwYXNzZWQgYSBzdGF0ZSBwYXJhbWV0ZXIgaW4gdGhlIE9BdXRoIGxvZ2luIHVybC4gU28gR29vZ2xlIHdpbGwgcGFzcyB0aGlzIHBhcmFtZXRlciBpbiB0aGUgUmVkaXJlY3QgVXJsDQoJCS8vIEluIGZyb250ZW5kIHBhcmFtZXRlcnMgd2VyZSBlbmNvZGVkIHRvIEpTT04gYW5kIHRoZW4gYmFzZTY0IGVuY29kZWQNCgkJLy8gSW4gYmFja2VuZCB3ZSBiYXNlNjQgZGVjb2RlIGFuZCB0aGVuIGpzb24gZGVjb2RlIGl0DQoJCSAkZXZlbnQgPSBqc29uX2RlY29kZShiYXNlNjRfZGVjb2RlKCRfR0VUWydzdGF0ZSddKSwgdHJ1ZSk7DQoNCgkJLy8gR2V0IHVzZXIgY2FsZW5kYXIgdGltZXpvbmUNCgkJJHVzZXJfdGltZXpvbmUgPSAkY2FwaS0+R2V0VXNlckNhbGVuZGFyVGltZXpvbmUoJGFjY2Vzc190b2tlbik7DQoJCQ0KCQkvLyBDcmVhdGUgZXZlbnQgb24gcHJpbWFyeSBjYWxlbmRhcg0KCQkNCgkJJGRiID0gIERCTWFuYWdlckZhY3Rvcnk6OmdldEluc3RhbmNlKCk7DQoJCSRjdXNlcj0kX1NFU1NJT05bJ2F1dGhlbnRpY2F0ZWRfdXNlcl9pZCddOw0KCQkNCgkJaWYoJGV2ZW50WydvcGVyYXRpb24nXT09J1NlbmQnKXsJDQoJCQ0KCQkgICRzcWwxPSJTRUxFQ1QgKiBGUk9NIGBtZWV0aW5nc2AgV2hlcmUgZmxhZz0wIEFORCBkZWxldGVkPTAgQU5EIGFzc2lnbmVkX3VzZXJfaWQ9JyIuJGN1c2VyLiInIiA7DQoJCSRyczE9JGRiLT5xdWVyeSgkc3FsMSk7DQoJCQl3aGlsZSgkcm93MSA9ICRkYi0+ZmV0Y2hCeUFzc29jKCRyczEsLTEsIGZhbHNlKSkNCgkJCXsNCgkJCQkgJHRpdGxlPSRyb3cxWyduYW1lJ107DQoJCQkJICAkZXZlbnRfdGltZVsnc3RhcnRfdGltZSddPWRhdGUoREFURV9BVE9NLHN0cnRvdGltZSgkcm93MVsnZGF0ZV9zdGFydCddKSk7IC8vJzIwMTctMDUtMzBUMTI6NDk6MDAnOw0KCQkJCSAkZXZlbnRfdGltZVsnZW5kX3RpbWUnXT1kYXRlKERBVEVfQVRPTSxzdHJ0b3RpbWUoJHJvdzFbJ2RhdGVfZW5kJ10pKTsvLycyMDE3LTA1LTMwVDEzOjQwOjAwJzsNCgkJCQkgJGV2ZW50X3RpbWVbJ2V2ZW50X2RhdGUnXT1kYXRlKERBVEVfQVRPTSxzdHJ0b3RpbWUoJHJvdzFbJ2RhdGVfc3RhcnQnXSkpOy8vJzIwMTctMDUtMzBUMTM6NDA6MDAnOw0KCQkJCSRhbGxfZGF5PTA7DQoJCQkJJGV2ZW50X2lkID0gJGNhcGktPkNyZWF0ZUNhbGVuZGFyRXZlbnQoJ3ByaW1hcnknLCAkdGl0bGUsICRhbGxfZGF5LCAkZXZlbnRfdGltZSwgJHVzZXJfdGltZXpvbmUsICRhY2Nlc3NfdG9rZW4pOw0KCQkJCQ0KCQkJCSAkc3FsX2ZsYWc9IlVQREFURSBtZWV0aW5ncyBTRVQgIGBmbGFnYCA9MSxgZ29vZ2xlX2lkYD0nIi4kZXZlbnRfaWQuIicgV0hFUkUgaWQgPSAnIi4kcm93MVsnaWQnXS4iJyI7DQoJCQkJJHJzX2ZsYWc9JGRiLT5xdWVyeSgkc3FsX2ZsYWcpOw0KCQkJDQoJCQl9DQoJCX0JDQoJCWVsc2V7DQoJCQkkYWxsRXZlbnQ9JGNhcGktPkdldENhbGVuZGFyc0V2ZW50KCdwcmltYXJ5JywkYWNjZXNzX3Rva2VuKTsNCgkJDQoJCQlmb3JlYWNoKCRhbGxFdmVudCBhcyAkbXlldmVudCkNCgkJCXsNCgkJCQkNCgkJCQkNCgkJLyplY2hvICRteWV2ZW50WydzdW1tYXJ5J107ZWNobyAiPGJyPiI7DQoJCS8vZWNobyAkbXlldmVudFsnc3RhcnQnXVsnZGF0ZVRpbWUnXTtlY2hvICI8YnI+IjsNCgkJaWYoJG15ZXZlbnRbJ3N0YXJ0J11bJ2RhdGVUaW1lJ10hPScnKQ0KCQl7DQoJCWVjaG8gJGRhdGUxPWRhdGUoJ1ktbS1kIGg6aTpzJyxzdHJ0b3RpbWUoJG15ZXZlbnRbJ3N0YXJ0J11bJ2RhdGVUaW1lJ10pKTtlY2hvICI8YnI+IjsNCgkgICAgZWNobyAkZGF0ZTI9ZGF0ZSgnWS1tLWQgaDppOnMnLHN0cnRvdGltZSgkbXlldmVudFsnZW5kJ11bJ2RhdGVUaW1lJ10pKTsNCgkJfQ0KCQllbHNlew0KCQkJZWNobyAkZGF0ZTE9ZGF0ZSgnWS1tLWQgaDppOnMnLHN0cnRvdGltZSgkbXlldmVudFsnc3RhcnQnXVsnZGF0ZSddKSk7ZWNobyAiPGJyPiI7DQoJICAgIGVjaG8gJGRhdGUyPWRhdGUoJ1ktbS1kIGg6aTpzJyxzdHJ0b3RpbWUoJG15ZXZlbnRbJ2VuZCddWydkYXRlJ10pKTsNCgkJfQ0KCQllY2hvICI8YnI+IjsNCgkJJGRpZmY9ZGF0ZV9kaWZmKCRkYXRlMSwkZGF0ZTIpOw0KCQllY2hvICAkaHVyPSAkZGlmZi0+Zm9ybWF0KCIlaCIpOw0KCSAgICBlY2hvICRtaW49ICRkaWZmLT5mb3JtYXQoIiVpIik7DQoJCS8vcHJpbnRfcigkbXlldmVudCk7DQplY2hvICI8YnI+IjsqLw0KCQkJCSRzcWwxPSJTRUxFQ1QgKiBGUk9NIGBtZWV0aW5nc2AgV2hlcmUgZ29vZ2xlX2lkPSciLiRteWV2ZW50WydpZCddLiInIGFuZCBkZWxldGVkPTAiOw0KCQkJCSRyczE9JGRiLT5xdWVyeSgkc3FsMSk7DQoJCQkJaWYoJHJvdzEgPSAkZGItPmZldGNoQnlBc3NvYygkcnMxLC0xLCBmYWxzZSkpDQoJCQkJew0KCQkJCQkNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJICRjdXNlcj0kX1NFU1NJT05bJ2F1dGhlbnRpY2F0ZWRfdXNlcl9pZCddOw0KCQkJCQlpZigkbXlldmVudFsnc3RhcnQnXVsnZGF0ZVRpbWUnXSE9JycpDQoJCQkJCXsNCgkJCQkJICRkYXRlMT1kYXRlKCdZLW0tZCBoOmk6cycsc3RydG90aW1lKCRteWV2ZW50WydzdGFydCddWydkYXRlVGltZSddKSk7ZWNobyAiPGJyPiI7DQoJCQkJCSAkZGF0ZTI9ZGF0ZSgnWS1tLWQgaDppOnMnLHN0cnRvdGltZSgkbXlldmVudFsnZW5kJ11bJ2RhdGVUaW1lJ10pKTsNCgkJCQkJfQ0KCQkJCQllbHNlew0KCQkJCQkgJGRhdGUxPWRhdGUoJ1ktbS1kIGg6aTpzJyxzdHJ0b3RpbWUoJG15ZXZlbnRbJ3N0YXJ0J11bJ2RhdGUnXSkpO2VjaG8gIjxicj4iOw0KCQkJCQkgJGRhdGUyPWRhdGUoJ1ktbS1kIGg6aTpzJyxzdHJ0b3RpbWUoJG15ZXZlbnRbJ2VuZCddWydkYXRlJ10pKTsNCgkJCQkJfQ0KCQkJCQkgLy8kZGlmZj1kYXRlX2RpZmYoJGRhdGUxLCRkYXRlMik7DQoJCQkJCSAvL2VjaG8gICRodXI9ICRkaWZmLT5mb3JtYXQoIiVoIik7DQoJCQkJCSAvLyBlY2hvICRtaW49ICRkaWZmLT5mb3JtYXQoIiVpIik7DQoJCQkJCSAvLyBlY2hvICRteWV2ZW50WydzdW1tYXJ5J107DQoJCQkJCSAgJGh1cj0wOw0KCQkJCQkgICRtaW49MDsNCgkJCQkJDQoJCQkJCSAkcmlkPWNyZWF0ZV9ndWlkKCk7IA0KCQkJCQkNCgkJCQkJICAgJG1lZXRpbmdzX3NxbD0iSU5TRVJUIElOVE8gbWVldGluZ3MgKGlkLG5hbWUsIGRhdGVfZW50ZXJlZCwgIGRhdGVfbW9kaWZpZWQsICBtb2RpZmllZF91c2VyX2lkLGNyZWF0ZWRfYnksZGVsZXRlZCwgIGFzc2lnbmVkX3VzZXJfaWQsZHVyYXRpb25faG91cnMsICBkdXJhdGlvbl9taW51dGVzLCAgZGF0ZV9zdGFydCwgIGRhdGVfZW5kLGZsYWcsICBnb29nbGVfaWQpIFZBTFVFUyANCgkJCQkJCSgnIi4kcmlkLiInLCciLiRteWV2ZW50WydzdW1tYXJ5J10uIicsTk9XKCksTk9XKCksJyIuJGN1c2VyLiInLCciLiRjdXNlci4iJywwLCciLiRjdXNlci4iJywiLiRodXIuIiwiLiRtaW4uIiwnIi4kZGF0ZTEuIicsJyIuJGRhdGUyLiInLDEsJyIuJG15ZXZlbnRbJ2lkJ10uIicgKSI7DQoJCQkJCQkNCgkJCQkJJGRiLT5xdWVyeSgkbWVldGluZ3Nfc3FsKTsNCgkJCQkJJHNxbF9pbnNydDE9IklOU0VSVCBJTlRPIG1lZXRpbmdzX3VzZXJzICgJaWQsCW1lZXRpbmdfaWQsCXVzZXJfaWQscmVxdWlyZWQsYWNjZXB0X3N0YXR1cywJZGF0ZV9tb2RpZmllZCwNCgkJCQlkZWxldGVkCSkgCVZBTFVFUwkoCVVVSUQoKSwJJyIuJHJpZC4iJywJJyIuJGN1c2VyLiInLDEsCSdhY2NlcHQnLAlOT1coKSwwKTsiOw0KCQkJCSRzcWxfaW5zcnQxID0gJGRiLT5xdWVyeSgkc3FsX2luc3J0MSk7DQoJCQkJDQoJCQkJCSRzcWx1cGR0PSJJTlNFUlQgSU5UTyByZW1pbmRlcnMgKGlkLG5hbWUsZGF0ZV9lbnRlcmVkLAlkYXRlX21vZGlmaWVkLAltb2RpZmllZF91c2VyX2lkLGNyZWF0ZWRfYnksDQoJCQkJZGVzY3JpcHRpb24sCWRlbGV0ZWQsIGFzc2lnbmVkX3VzZXJfaWQsCXBvcHVwLAllbWFpbCwJZW1haWxfc2VudCwJdGltZXJfcG9wdXAsIHRpbWVyX2VtYWlsLHJlbGF0ZWRfZXZlbnRfbW9kdWxlLA0KCQkJCXJlbGF0ZWRfZXZlbnRfbW9kdWxlX2lkCSkgCVZBTFVFUw0KCQkJCSggJyIuJHJpZC4iJywnIi4kbXlldmVudFsnc3VtbWFyeSddLiInLAlOT1coKSwJTk9XKCksCSciLiRjdXNlci4iJywJJzEnLCcnLAknMCcsCSciLiRjdXNlci4iJywnMScsJzAnLCcwJywnMTgwMCcsCSczNjAwJywJJ01lZXRpbmdzJywJJyIuJHJpZC4iJwkpIDsiOw0KCQkJCSRzcWx1cGR0ID0gJGRiLT5xdWVyeSgkc3FsdXBkdCk7DQoJCQkJDQoJCQkJfQ0KCQkJCQ0KCQkJCQkNCgkJCQl9DQoJCQkJCQ0KCQkJCQ0KCQkJfQ0KCQkNCgkJICAkdXJpID0gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQoNCg0KICAgICRwcm90b2NvbCA9ICgoIWVtcHR5KCRfU0VSVkVSWydIVFRQUyddKSAmJiAkX1NFUlZFUlsnSFRUUFMnXSAhPSAnb2ZmJykgfHwgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT0gNDQzKSA/ICJodHRwczovLyIgOiAiaHR0cDovLyI7DQoNCiAgICAgDQogICAgICAkcGF0aD0gJF9TRVJWRVJbJ1BIUF9TRUxGJ107DQogICAgICAkbmV3cGF0aD0gc3RyX3JlcGxhY2UoImdhdXRoLnBocCIsIiIsJHBhdGgpOw0KICAgICAkdXJsID0gJHByb3RvY29sIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4kbmV3cGF0aC4gJ2luZGV4LnBocD9tb2R1bGU9Q2FsZW5kYXImYWN0aW9uPWluZGV4JzsNCg0KCQloZWFkZXIoIkxvY2F0aW9uOiAkdXJsIik7DQoJfQ0KCWNhdGNoKEV4Y2VwdGlvbiAkZSkgew0KCQllY2hvICRlLT5nZXRNZXNzYWdlKCk7DQoJCWV4aXQoKTsNCgl9DQp9DQoNCj8+")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 08f1fdf4eafe3aba261d04aa8e7dd42c
Eval Count 1
Decode Time 98 ms