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 /* Copyright (c) 2014 Sendy.co If you want to obtain license for this product, vi..
Decoded Output download
<?php
/*
Copyright (c) 2014 Sendy.co
If you want to obtain license for this product, visit http://sendy.co
*/
ini_set("display_errors", 0);
session_start();
include("config.php");
include("helpers/locale.php");
function dbConnect()
{
global $mysqli;
global $dbHost;
global $dbUser;
global $dbPass;
global $dbName;
global $dbPort;
if (isset($dbPort))
$mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName, $dbPort);
else
$mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
if ($mysqli->connect_error) {
fail("<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" content="text/html;charset=utf-8\"/><link rel=\"Shortcut Icon" type=\"image/ico\" href=\"/img/favicon.png\"><title>" . _("Can't connect to database") . "</title></head><style type=\"text/css">body{background: #ffffff;font-family: Helvetica, Arial;}#wrapper{background: #f2f2f2;width: 300px;height: 110px;margin: -140px 0 0 -150px;position: absolute;top: 50%;left: 50%;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}p{text-align: center;line-height: 18px;font-size: 12px;padding: 0 30px;}h2{font-weight: normal;text-align: center;font-size: 20px;}a{color: #000;}a:hover{text-decoration: none;}</style><body><div id="wrapper\"><p><h2>" . _("Can't connect to database") . "</h2></p><p>" . _("There is a problem connecting to the database. Please try again later.") . "</p></div></body></html>");
}
global $charset;
mysqli_set_charset($mysqli, isset($charset) ? $charset : "utf8");
return $mysqli;
}
function fail($errorMsg)
{
echo $errorMsg;
exit;
}
dbConnect();
$q = "SELECT COUNT(*)
FROM information_schema.tables WHERE table_schema = '$dbName'
AND (table_name = 'apps' OR table_name = 'campaigns' OR table_name = 'links' OR table_name = 'lists' OR table_name = 'login' OR table_name = 'subscribers')";
$r = mysqli_query($mysqli, $q);
if ($r) {
while ($row = mysqli_fetch_array($r)) {
$table_count = $row["COUNT(*)"];
if ($table_count != 6) {
if (currentPage() != "_install.php") {
header("Location: " . get_app_info("path") . "/_install.php");
exit;
}
}
}
}
include("update.php");
$_SESSION["company"] = "";
$_SESSION["is_sub_user"] = "";
function unlog_session()
{
session_destroy();
if (setcookie("logged_in", "", time() - 60000, "/", COOKIE_DOMAIN))
return true;
}
function currentPage()
{
$currentFile = $_SERVER["PHP_SELF"];
$parts = Explode("/", $currentFile);
return $parts[count($parts) - 1];
}
function ipaddress()
{
if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
function start_app()
{
global $mysqli;
$q = "SELECT * FROM login WHERE id = " . $_SESSION["userID"];
$r = mysqli_query($mysqli, $q);
if ($r && mysqli_num_rows($r) > 0) {
while ($row = mysqli_fetch_array($r)) {
$_SESSION["name"] = stripslashes($row["name"]);
$_SESSION["company"] = stripslashes($row["company"]);
$_SESSION["email"] = stripslashes($row["username"]);
$_SESSION["password"] = stripslashes($row["password"]);
$_SESSION["s3_key"] = stripslashes($row["s3_key"]);
$_SESSION["s3_secret"] = stripslashes($row["s3_secret"]);
$_SESSION["license"] = stripslashes($row["license"]);
$_SESSION["tied_to"] = stripslashes($row["tied_to"]);
$_SESSION["restricted_to_app"] = stripslashes($row["app"]);
$_SESSION["timezone"] = stripslashes($row["timezone"]);
$_SESSION["language"] = stripslashes($row["language"]);
$_SESSION["cron"] = stripslashes($row["cron"]);
$_SESSION["send_rate"] = stripslashes($row["send_rate"]);
$_SESSION["ses_endpoint"] = stripslashes($row["ses_endpoint"]);
if ($_SESSION["timezone"] == "")
$_SESSION["timezone"] = date_default_timezone_get();
date_default_timezone_set($_SESSION["timezone"]);
if ($_SESSION["language"] != "en_US")
set_locale($_SESSION["language"]);
if ($_SESSION["tied_to"] != "") {
$q = "SELECT s3_key, s3_secret, license, ses_endpoint FROM login WHERE id = " . $_SESSION["tied_to"];
$r = mysqli_query($mysqli, $q);
if ($r && mysqli_num_rows($r) > 0) {
while ($row = mysqli_fetch_array($r)) {
$_SESSION["s3_key"] = stripslashes($row["s3_key"]);
$_SESSION["s3_secret"] = stripslashes($row["s3_secret"]);
$_SESSION["license"] = stripslashes($row["license"]);
$_SESSION["ses_endpoint"] = stripslashes($row["ses_endpoint"]);
}
}
$_SESSION["is_sub_user"] = true;
} else {
$_SESSION["is_sub_user"] = false;
$_SESSION["tied_to"] = $_SESSION["userID"];
}
}
}
$q2 = "SELECT api_key FROM login ORDER BY id ASC LIMIT 1";
$r2 = mysqli_query($mysqli, $q2);
if ($r2 && mysqli_num_rows($r2) > 0) {
while ($row = mysqli_fetch_array($r2))
$_SESSION["api_key"] = $row["api_key"];
}
if (!isset($_COOKIE["version"])) {
$version_latest = file_get_contents_curl("https://sendy.co/version-checker");
if (setcookie("version", $version_latest, time() + 86400, "/", COOKIE_DOMAIN)) {
$_SESSION["version_latest"] = $version_latest;
}
} else {
$_SESSION["version_latest"] = $_COOKIE["version"];
}
if (!defined("CURRENT_VERSION"))
define("CURRENT_VERSION", "1.1.9.2");
if (isset($_SESSION[$_SESSION["license"]])) {
if ($_SESSION[$_SESSION["license"]] != hash("sha512", $_SESSION["license"] . "2ifQ9IppVwYdOgSJoQhKOHAUK/oPwKZy")) {
echo "<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/><link rel=\"Shortcut Icon\" type=\"image/ico" href="img/favicon.png"><title>Invalid license or domain</title></head><style type=\"text/css\">body{background: #ffffff;font-family: Helvetica, Arial;}#wrapper{background: #f2f2f2;width: 300px;height: 110px;margin: -140px 0 0 -150px;position: absolute;top: 50%;left: 50%;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}p{text-align: center;line-height: 18px;font-size: 12px;padding: 0 30px;}h2{font-weight: normal;text-align: center;font-size: 20px;}a{color: #000;}a:hover{text-decoration: none;}</style><body><div id=\"wrapper\"><p><h2>Invalid license or domain</h2></p><p>Are you running Sendy on the domain you purchased it for?</p></div></body></html>";
unlog_session();
exit;
}
} else {
$license = file_get_contents_curl("https://sendy.co/gateway/" . $_SERVER["HTTP_HOST"] . "/" . $_SESSION["license"] . "/" . ipaddress() . "/" . str_replace("/", "|s|", APP_PATH) . "/" . CURRENT_VERSION . "/" . time() . "/");
if ($license)
$_SESSION[$_SESSION["license"]] = hash("sha512", $_SESSION["license"] . "2ifQ9IppVwYdOgSJoQhKOHAUK/oPwKZy");
else
$_SESSION[$_SESSION["license"]] = "";
}
session_write_close();
}
function parse_date($val, $longshort, $relative = true)
{
if ($relative) {
$diff = time() - $val;
if ($diff < 60)
return $diff . " sec" . plural($diff) . " ago";
$diff = round($diff / 60);
if ($diff < 60)
return $diff . " min" . plural($diff) . " ago";
$diff = round($diff / 60);
if ($diff < 24)
return $diff . " hr" . plural($diff) . " ago";
$diff = round($diff / 24);
if ($diff < 7)
return $diff . " day" . plural($diff) . " ago";
$diff = round($diff / 7);
if ($diff < 4)
return $diff . " week" . plural($diff) . " ago";
}
if ($longshort == "long") {
return strftime("%a, %b %d, %Y, %I:%M%p", $val);
break;
} else if ($longshort == "short") {
return strftime("%a, %b %d, %I:%M%p", $val);
break;
}
}
function plural($num)
{
if ($num != 1)
return "s";
}
function company_name()
{
global $mysqli;
$q = "SELECT company FROM login LIMIT 1";
$r = mysqli_query($mysqli, $q);
if ($r) {
while ($row = mysqli_fetch_array($r)) {
return $company = $row["company"];
}
} else {
return "Sendy";
}
}
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function get_gravatar($email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array())
{
$url = "http://www.gravatar.com/avatar/";
$url .= md5(strtolower(trim($email)));
$url .= "?s=$s&d=$d&r=$r";
if ($img) {
$url = "<img src=\"" . $url . "\"";
foreach ($atts as $key => $val)
$url .= " " . $key . "=\"" . $val . "\"";
$url .= " />";
}
return $url;
}
function ran_string($minlength, $maxlength, $useupper, $usespecial, $usenumbers)
{
$key = "";
$charset = "abcdefghijklmnopqrstuvwxyz";
if ($useupper)
$charset .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if ($usenumbers)
$charset .= "0123456789";
if ($usespecial)
$charset .= "~@#\$%^*()_+-={}|][";
if ($minlength > $maxlength)
$length = mt_rand($maxlength, $minlength);
else
$length = mt_rand($minlength, $maxlength);
for ($i = 0; $i < $length; $i++)
$key .= $charset[(mt_rand(0, (strlen($charset) - 1)))];
return $key;
}
function get_app_info($v)
{
switch ($v) {
case "version":
return CURRENT_VERSION;
break;
case "version_latest":
if (isset($_SESSION["version_latest"]))
return $_SESSION["version_latest"];
else
return;
break;
case "cookie_domain":
return COOKIE_DOMAIN;
break;
case "path":
return APP_PATH;
break;
case "s3_key":
if (isset($_SESSION["s3_key"]))
return $_SESSION["s3_key"];
else
return;
break;
case "s3_secret":
if (isset($_SESSION["s3_secret"]))
return $_SESSION["s3_secret"];
else
return;
break;
case "app":
if (isset($_GET["i"]) && is_numeric($_GET["i"]))
return $_GET["i"];
else
echo "<script type=\"text/javascript">window.location = \"" . APP_PATH . "/logout\";</script>";
break;
case "userID":
if (isset($_SESSION["userID"]))
return $_SESSION["userID"];
else
return;
break;
case "name":
if (isset($_SESSION["name"]))
return $_SESSION["name"];
else
return;
break;
case "company":
if (isset($_SESSION["company"]))
$co = $_SESSION["company"];
else
$co = "";
if ($co == "")
return company_name();
else
return $co;
break;
case "email":
if (isset($_SESSION["email"]))
return $_SESSION["email"];
else
return;
break;
case "password":
if (isset($_SESSION["password"]))
return $_SESSION["password"];
else
return;
break;
case "api_key":
if (isset($_SESSION["api_key"]))
return $_SESSION["api_key"];
else
return;
break;
case "license":
if (isset($_SESSION["license"]))
return $_SESSION["license"];
else
return;
break;
case "is_sub_user":
if (isset($_SESSION["is_sub_user"]))
return $_SESSION["is_sub_user"];
else
return;
break;
case "main_userID":
if (isset($_SESSION["tied_to"]))
return $_SESSION["tied_to"];
else
return;
break;
case "restricted_to_app":
if (isset($_SESSION["restricted_to_app"]))
return $_SESSION["restricted_to_app"];
else
return;
break;
case "timezone":
if (isset($_SESSION["timezone"]))
return $_SESSION["timezone"];
else
return;
break;
case "language":
if (isset($_SESSION["language"]))
return $_SESSION["language"];
else
return;
break;
case "cron_sending":
if ($_SESSION["cron"] == 1)
return true;
else
return false;
break;
case "send_rate":
if (isset($_SESSION["send_rate"]))
return $_SESSION["send_rate"];
else
return;
break;
case "ses_endpoint":
if (isset($_SESSION["ses_endpoint"]))
return $_SESSION["ses_endpoint"];
else
return;
break;
case "ses_region":
if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.us-east-1.amazonaws.com")
return "N. Virginia";
else if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.us-west-2.amazonaws.com")
return "Oregon";
else if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.eu-west-1.amazonaws.com")
return "Ireland";
else if (!isset($_SESSION["ses_endpoint"]))
return "No value";
else
return;
break;
}
}
?>
Did this file decode correctly?
Original Code
<?php
/*
Copyright (c) 2014 Sendy.co
If you want to obtain license for this product, visit http://sendy.co
*/
ini_set("display_errors", 0);
session_start();
include("config.php");
include("helpers/locale.php");
function dbConnect()
{
global $mysqli;
global $dbHost;
global $dbUser;
global $dbPass;
global $dbName;
global $dbPort;
if (isset($dbPort))
$mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName, $dbPort);
else
$mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
if ($mysqli->connect_error) {
fail("<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" \x63\x6f\x6e\x74e\x6et\x3d\x22text/ht\x6d\x6c;\x63\x68\x61rs\x65\x74=\x75t\x66-\x38\"/><link rel=\"\x53h\x6f\x72\x74\x63\x75t Ico\x6e\x22 t\x79pe\x3d\"image/ico\" href=\"/img/favicon.png\"\x3e<t\x69t\x6c\x65>" . _("Can't connect to database") . "</title></head><style type=\"\x74ex\x74/\x63\x73s\x22\x3eb\x6f\x64\x79{\x62ack\x67\x72ou\x6e\x64:\x20\x23\x66f\x66fff\x3b\x66\x6f\x6et-\x66a\x6dily: \x48e\x6c\x76\x65tic\x61,\x20\x41\x72\x69al\x3b}\x23\x77ra\x70p\x65r{\x62\x61c\x6b\x67\x72\x6fun\x64: \x23f\x32f2f\x32;wi\x64\x74h:\x20\x3300px\x3b\x68\x65i\x67ht: \x31\x31\x30p\x78\x3b\x6dargi\x6e:\x20-\x314\x30px \x30 \x30\x20-1\x35\x30\x70\x78\x3bpos\x69\x74\x69\x6fn: a\x62\x73olu\x74e\x3bto\x70: 5\x30\x25\x3ble\x66\x74:\x205\x30%;-\x77eb\x6b\x69\x74-b\x6f\x72de\x72-\x72a\x64\x69u\x73:\x20\x35px\x3b-\x6d\x6fz-\x62\x6f\x72\x64\x65r-ra\x64\x69us:\x205px\x3bb\x6f\x72d\x65r-\x72adius:\x205\x70x;}\x70{\x74e\x78t-\x61\x6ci\x67n:\x20c\x65\x6et\x65\x72;l\x69n\x65-\x68e\x69\x67h\x74: 18px;f\x6fn\x74-si\x7ae:\x20\x31\x32\x70\x78;\x70\x61ddi\x6eg: \x30 30px;}\x68\x32{font-\x77ei\x67\x68\x74: n\x6f\x72m\x61\x6c;te\x78\x74-al\x69\x67n:\x20\x63en\x74\x65r\x3b\x66o\x6e\x74-\x73i\x7a\x65:\x2020p\x78\x3b}a{\x63\x6f\x6c\x6f\x72:\x20\x230\x30\x30;}\x61:\x68o\x76er{t\x65\x78t-\x64e\x63ora\x74i\x6f\x6e:\x20\x6eone\x3b}</\x73\x74\x79\x6c\x65>\x3c\x62o\x64\x79>\x3cdiv\x20i\x64\x3d\x22\x77rapper\"><p><h2>" . _("Can't connect to database") . "</h2></p><p>" . _("There is a problem connecting to the database. Please try again later.") . "</p></div></body></html>");
}
global $charset;
mysqli_set_charset($mysqli, isset($charset) ? $charset : "utf8");
return $mysqli;
}
function fail($errorMsg)
{
echo $errorMsg;
exit;
}
dbConnect();
$q = "SELECT COUNT(*)\nFROM information_schema.tables WHERE table_schema = '$dbName' \nAND (table_name = 'apps' OR table_name = 'campaigns' OR table_name = 'links' OR table_name = 'lists' OR table_name = 'login' OR table_name = 'subscribers')";
$r = mysqli_query($mysqli, $q);
if ($r) {
while ($row = mysqli_fetch_array($r)) {
$table_count = $row["COUNT(*)"];
if ($table_count != 6) {
if (currentPage() != "_install.php") {
header("Location: " . get_app_info("path") . "/_install.php");
exit;
}
}
}
}
include("update.php");
$_SESSION["company"] = "";
$_SESSION["is_sub_user"] = "";
function unlog_session()
{
session_destroy();
if (setcookie("logged_in", "", time() - 60000, "/", COOKIE_DOMAIN))
return true;
}
function currentPage()
{
$currentFile = $_SERVER["PHP_SELF"];
$parts = Explode("/", $currentFile);
return $parts[count($parts) - 1];
}
function ipaddress()
{
if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
function start_app()
{
global $mysqli;
$q = "SELECT * FROM login WHERE id = " . $_SESSION["userID"];
$r = mysqli_query($mysqli, $q);
if ($r && mysqli_num_rows($r) > 0) {
while ($row = mysqli_fetch_array($r)) {
$_SESSION["name"] = stripslashes($row["name"]);
$_SESSION["company"] = stripslashes($row["company"]);
$_SESSION["email"] = stripslashes($row["username"]);
$_SESSION["password"] = stripslashes($row["password"]);
$_SESSION["s3_key"] = stripslashes($row["s3_key"]);
$_SESSION["s3_secret"] = stripslashes($row["s3_secret"]);
$_SESSION["license"] = stripslashes($row["license"]);
$_SESSION["tied_to"] = stripslashes($row["tied_to"]);
$_SESSION["restricted_to_app"] = stripslashes($row["app"]);
$_SESSION["timezone"] = stripslashes($row["timezone"]);
$_SESSION["language"] = stripslashes($row["language"]);
$_SESSION["cron"] = stripslashes($row["cron"]);
$_SESSION["send_rate"] = stripslashes($row["send_rate"]);
$_SESSION["ses_endpoint"] = stripslashes($row["ses_endpoint"]);
if ($_SESSION["timezone"] == "")
$_SESSION["timezone"] = date_default_timezone_get();
date_default_timezone_set($_SESSION["timezone"]);
if ($_SESSION["language"] != "en_US")
set_locale($_SESSION["language"]);
if ($_SESSION["tied_to"] != "") {
$q = "SELECT s3_key, s3_secret, license, ses_endpoint FROM login WHERE id = " . $_SESSION["tied_to"];
$r = mysqli_query($mysqli, $q);
if ($r && mysqli_num_rows($r) > 0) {
while ($row = mysqli_fetch_array($r)) {
$_SESSION["s3_key"] = stripslashes($row["s3_key"]);
$_SESSION["s3_secret"] = stripslashes($row["s3_secret"]);
$_SESSION["license"] = stripslashes($row["license"]);
$_SESSION["ses_endpoint"] = stripslashes($row["ses_endpoint"]);
}
}
$_SESSION["is_sub_user"] = true;
} else {
$_SESSION["is_sub_user"] = false;
$_SESSION["tied_to"] = $_SESSION["userID"];
}
}
}
$q2 = "SELECT api_key FROM login ORDER BY id ASC LIMIT 1";
$r2 = mysqli_query($mysqli, $q2);
if ($r2 && mysqli_num_rows($r2) > 0) {
while ($row = mysqli_fetch_array($r2))
$_SESSION["api_key"] = $row["api_key"];
}
if (!isset($_COOKIE["version"])) {
$version_latest = file_get_contents_curl("https://sendy.co/version-checker");
if (setcookie("version", $version_latest, time() + 86400, "/", COOKIE_DOMAIN)) {
$_SESSION["version_latest"] = $version_latest;
}
} else {
$_SESSION["version_latest"] = $_COOKIE["version"];
}
if (!defined("CURRENT_VERSION"))
define("CURRENT_VERSION", "1.1.9.2");
if (isset($_SESSION[$_SESSION["license"]])) {
if ($_SESSION[$_SESSION["license"]] != hash("sha512", $_SESSION["license"] . "2ifQ9IppVwYdOgSJoQhKOHAUK/oPwKZy")) {
echo "<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" content=\"\x74\x65\x78t/h\x74\x6dl\x3bc\x68\x61\x72\x73\x65\x74=u\x74f-\x38\"/><link rel=\"Shortcut Icon\" type=\"\x69m\x61g\x65/\x69\x63o\x22 h\x72\x65\x66=\x22im\x67/\x66a\x76i\x63on.\x70ng\x22>\x3ct\x69\x74\x6c\x65>Invalid l\x69cen\x73\x65 or\x20dom\x61\x69\x6e\x3c/tit\x6c\x65></\x68\x65ad\x3e<\x73\x74yle t\x79\x70e=\"text/css\">\x62\x6f\x64y{\x62\x61c\x6bg\x72\x6fun\x64:\x20\x23\x66f\x66\x66f\x66\x3bf\x6f\x6et-f\x61m\x69l\x79: H\x65\x6cveti\x63\x61, \x41rial;}#wr\x61\x70\x70\x65r{b\x61\x63k\x67ro\x75\x6ed:\x20#\x662f\x32f\x32;w\x69\x64th:\x20\x33\x30\x30p\x78\x3b\x68e\x69g\x68\x74: \x3110p\x78\x3b\x6d\x61r\x67\x69\x6e: -14\x30\x70x\x200 \x30\x20-\x31\x350px;\x70\x6fsiti\x6fn: \x61bs\x6fl\x75t\x65;to\x70:\x20\x350%;l\x65f\x74:\x20\x35\x30\x25\x3b-we\x62\x6b\x69t-\x62\x6fr\x64e\x72-ra\x64i\x75s: \x35\x70\x78\x3b-\x6do\x7a-bor\x64\x65\x72-ra\x64\x69us:\x205p\x78\x3b\x62or\x64e\x72-\x72adi\x75\x73:\x20\x35p\x78;}p{\x74e\x78t-\x61\x6ci\x67n:\x20\x63ente\x72\x3b\x6ci\x6ee-\x68\x65\x69\x67ht:\x2018\x70x;fo\x6e\x74-\x73i\x7a\x65:\x20\x312\x70x;\x70ad\x64\x69\x6e\x67:\x200 3\x30\x70\x78\x3b}\x68\x32{f\x6fnt-w\x65\x69\x67\x68t: \x6eor\x6dal;t\x65xt-al\x69gn:\x20cen\x74\x65r\x3b\x66\x6f\x6e\x74-si\x7ae:\x202\x30\x70x;}a{\x63olor: \x23\x30\x300;}a:h\x6f\x76\x65r{t\x65\x78t-de\x63or\x61tion:\x20no\x6e\x65;}\x3c/s\x74y\x6c\x65><\x62\x6f\x64\x79\x3e\x3c\x64iv \x69\x64\x3d\"wrapper\"><p><h2>Invalid license or domain</h2></p><p>Are you running Sendy on the domain you purchased it for?</p></div></body></html>";
unlog_session();
exit;
}
} else {
$license = file_get_contents_curl("https://sendy.co/gateway/" . $_SERVER["HTTP_HOST"] . "/" . $_SESSION["license"] . "/" . ipaddress() . "/" . str_replace("/", "|s|", APP_PATH) . "/" . CURRENT_VERSION . "/" . time() . "/");
if ($license)
$_SESSION[$_SESSION["license"]] = hash("sha512", $_SESSION["license"] . "2ifQ9IppVwYdOgSJoQhKOHAUK/oPwKZy");
else
$_SESSION[$_SESSION["license"]] = "";
}
session_write_close();
}
function parse_date($val, $longshort, $relative = true)
{
if ($relative) {
$diff = time() - $val;
if ($diff < 60)
return $diff . " sec" . plural($diff) . " ago";
$diff = round($diff / 60);
if ($diff < 60)
return $diff . " min" . plural($diff) . " ago";
$diff = round($diff / 60);
if ($diff < 24)
return $diff . " hr" . plural($diff) . " ago";
$diff = round($diff / 24);
if ($diff < 7)
return $diff . " day" . plural($diff) . " ago";
$diff = round($diff / 7);
if ($diff < 4)
return $diff . " week" . plural($diff) . " ago";
}
if ($longshort == "long") {
return strftime("%a, %b %d, %Y, %I:%M%p", $val);
break;
} else if ($longshort == "short") {
return strftime("%a, %b %d, %I:%M%p", $val);
break;
}
}
function plural($num)
{
if ($num != 1)
return "s";
}
function company_name()
{
global $mysqli;
$q = "SELECT company FROM login LIMIT 1";
$r = mysqli_query($mysqli, $q);
if ($r) {
while ($row = mysqli_fetch_array($r)) {
return $company = $row["company"];
}
} else {
return "Sendy";
}
}
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function get_gravatar($email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array())
{
$url = "http://www.gravatar.com/avatar/";
$url .= md5(strtolower(trim($email)));
$url .= "?s=$s&d=$d&r=$r";
if ($img) {
$url = "<img src=\"" . $url . "\"";
foreach ($atts as $key => $val)
$url .= " " . $key . "=\"" . $val . "\"";
$url .= " />";
}
return $url;
}
function ran_string($minlength, $maxlength, $useupper, $usespecial, $usenumbers)
{
$key = "";
$charset = "abcdefghijklmnopqrstuvwxyz";
if ($useupper)
$charset .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if ($usenumbers)
$charset .= "0123456789";
if ($usespecial)
$charset .= "~@#\$%^*()_+-={}|][";
if ($minlength > $maxlength)
$length = mt_rand($maxlength, $minlength);
else
$length = mt_rand($minlength, $maxlength);
for ($i = 0; $i < $length; $i++)
$key .= $charset[(mt_rand(0, (strlen($charset) - 1)))];
return $key;
}
function get_app_info($v)
{
switch ($v) {
case "version":
return CURRENT_VERSION;
break;
case "version_latest":
if (isset($_SESSION["version_latest"]))
return $_SESSION["version_latest"];
else
return;
break;
case "cookie_domain":
return COOKIE_DOMAIN;
break;
case "path":
return APP_PATH;
break;
case "s3_key":
if (isset($_SESSION["s3_key"]))
return $_SESSION["s3_key"];
else
return;
break;
case "s3_secret":
if (isset($_SESSION["s3_secret"]))
return $_SESSION["s3_secret"];
else
return;
break;
case "app":
if (isset($_GET["i"]) && is_numeric($_GET["i"]))
return $_GET["i"];
else
echo "<script type=\"t\x65\x78\x74/jav\x61\x73c\x72\x69\x70t\x22\x3ewin\x64o\x77\x2eloca\x74io\x6e =\x20\"" . APP_PATH . "/logout\"\x3b</s\x63\x72\x69p\x74>";
break;
case "userID":
if (isset($_SESSION["userID"]))
return $_SESSION["userID"];
else
return;
break;
case "name":
if (isset($_SESSION["name"]))
return $_SESSION["name"];
else
return;
break;
case "company":
if (isset($_SESSION["company"]))
$co = $_SESSION["company"];
else
$co = "";
if ($co == "")
return company_name();
else
return $co;
break;
case "email":
if (isset($_SESSION["email"]))
return $_SESSION["email"];
else
return;
break;
case "password":
if (isset($_SESSION["password"]))
return $_SESSION["password"];
else
return;
break;
case "api_key":
if (isset($_SESSION["api_key"]))
return $_SESSION["api_key"];
else
return;
break;
case "license":
if (isset($_SESSION["license"]))
return $_SESSION["license"];
else
return;
break;
case "is_sub_user":
if (isset($_SESSION["is_sub_user"]))
return $_SESSION["is_sub_user"];
else
return;
break;
case "main_userID":
if (isset($_SESSION["tied_to"]))
return $_SESSION["tied_to"];
else
return;
break;
case "restricted_to_app":
if (isset($_SESSION["restricted_to_app"]))
return $_SESSION["restricted_to_app"];
else
return;
break;
case "timezone":
if (isset($_SESSION["timezone"]))
return $_SESSION["timezone"];
else
return;
break;
case "language":
if (isset($_SESSION["language"]))
return $_SESSION["language"];
else
return;
break;
case "cron_sending":
if ($_SESSION["cron"] == 1)
return true;
else
return false;
break;
case "send_rate":
if (isset($_SESSION["send_rate"]))
return $_SESSION["send_rate"];
else
return;
break;
case "ses_endpoint":
if (isset($_SESSION["ses_endpoint"]))
return $_SESSION["ses_endpoint"];
else
return;
break;
case "ses_region":
if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.us-east-1.amazonaws.com")
return "N. Virginia";
else if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.us-west-2.amazonaws.com")
return "Oregon";
else if (isset($_SESSION["ses_endpoint"]) && $_SESSION["ses_endpoint"] == "email.eu-west-1.amazonaws.com")
return "Ireland";
else if (!isset($_SESSION["ses_endpoint"]))
return "No value";
else
return;
break;
}
}
?>
Function Calls
ini_set | 1 |
session_start | 1 |
Stats
MD5 | 943225927595e457e71e1ef0786f51e0 |
Eval Count | 0 |
Decode Time | 137 ms |