From 75ccfd63737654a389702b245e48bdaec57ea9c9 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 15 Feb 2011 15:36:47 +0100 Subject: [PATCH] several smaller fixes --- sms_contact/index.php | 64 +++++++++++++++++++------------------ sms_contact/js/sms.js | 34 -------------------- sms_contact/{js => }/md5.js | 0 sms_contact/sms.js | 47 +++++++++++++++++++++++++++ sms_contact/style.css | 23 +++++++++++++ 5 files changed, 103 insertions(+), 65 deletions(-) delete mode 100644 sms_contact/js/sms.js rename sms_contact/{js => }/md5.js (100%) create mode 100644 sms_contact/sms.js create mode 100644 sms_contact/style.css diff --git a/sms_contact/index.php b/sms_contact/index.php index d24f231..06cb771 100644 --- a/sms_contact/index.php +++ b/sms_contact/index.php @@ -5,10 +5,11 @@ Schicke mir eine Kurznachricht - - + + + - +
Fehler: [' . $exception->getCode() . '] ' . $exception->getMessage() . '

'; + echo '

Fehler: ' . $exception->getMessage() . '

'; + if (get_class($exception) != 'Exception') { + echo '(Code: ' . $exception->getCode() . ')'; + } + show_form(); }); if ($_POST) { - $sipgate = new sipgateAPI($config['username'], $config['password']); - $balance = $sipgate->getBalance(); - $message = str_replace("\r", "", trim($_POST['message'])); + $sipgate = new sipgateAPI($config['username'], $config['password']); + $balance = $sipgate->getBalance(); + $message = preg_replace('/\r?\n/m', '\n', trim($_POST['message'])); $blacklist = read_blacklist($config['blocked']); - $delta_t = 60*5; if (!isset($_POST['message'])) { - throw new Exception('Keine Nachricht!', 5); + throw new Exception('Keine Nachricht!'); } - if ($_POST['antispam'] != md5($message . ceil(time() / $delta_t))) { // check hash - throw new Exception('Willst du mich bescheissen? Bitte aktiviere Javascript!', 1); + if ($message == $config['default']) { + throw new Exception('Der Standart ist doch langweilig!'); + } + if ($_POST['antispam'] != md5($message . ceil(time() / $config['delta']))) { // check hash + throw new Exception('Willst du mich bescheissen? Bitte aktiviere Javascript!'); } if (strlen($message) > 160) { throw new Exception('Deine Nachricht ist zu lang!'); } if ($balance['CurrentBalance']['TotalIncludingVat'] < $config['reserve']) { - throw new Exception('Sorry, aber ich habe kein Gutenhaben mehr!', 2); + throw new Exception('Sorry, aber ich habe kein Gutenhaben mehr!'); } if ($time = is_blacklisted($blacklist, $_SERVER['REMOTE_ADDR'])) { - throw new Exception('Sorry, du musst ' . format_duration($config['blocked'] - (time() - $time)) . ' warten, bevor du die nächste SMS versenden kannst!', 3); + throw new Exception('Sorry, du musst ' . format_duration($config['blocked'] - (time() - $time)) . ' warten, bevor du die nächste SMS versenden kannst!'); } - //$sipgate->sendSMS($recipient'], $message, NULL, $config['recipient']); + $sipgate->sendSMS($config['recipient'], $message, NULL, $config['recipient']); + $balance = $sipgate->getBalance(); echo '

SMS wurde gesendet!

Vielen Dank :)

'; - echo '

Du kannst deine nä:chste SMS in ' . format_duration($config['blocked']) . ' senden!

'; - echo '

Verbleibendes Guthaben: ' . round($balance['CurrentBalance']['TotalIncludingVat'], 2) . ' ' . $balance['CurrentBalance']['Currency'] . ' (das sind noch ' . floor(($balance['CurrentBalance']['TotalIncludingVat'] - $config['reserve']) / 0.079) . ' SMS)

'; + echo '

Du kannst deine nächste SMS in ' . format_duration($config['blocked']) . ' senden!

'; + echo '

Verbleibendes Guthaben: ' . round($balance['CurrentBalance']['TotalIncludingVat']) . ' ' . $balance['CurrentBalance']['Currency'] . ' (das sind noch ' . floor(($balance['CurrentBalance']['TotalIncludingVat'] - $config['reserve']) / 0.079) . ' SMS)

'; if ($_SERVER['REMOTE_ADDR'] != '172.0.0.1') $blacklist[] = array($_SERVER['REMOTE_ADDR'], time()); @@ -61,29 +69,23 @@ else { function show_form() { global $config; - $message = (isset($_REQUEST['message'])) ? $_REQUEST['message'] : ''; + $message = (isset($_REQUEST['message'])) ? $_REQUEST['message'] : $config['default']; - echo '
+ echo ' - - - + + +
An:++' . $config['recipient'] . '
Nachricht:
Zeichen:' . strlen($message) . ' (übrig: ' . (160 - strlen($message)) . ')
An: ++' . $config['recipient'] . '
Zeichen: ' . strlen($message) . ' (übrig: ' . (160 - strlen($message)) . ')
- +
'; } function format_duration($time) { - if ($time < 60) { - return $time . ' Sekunden'; - } - elseif ($time < 3600) { - return floor($time / 60) . ' Minuten'; - } - else { - return floor($time / 3600) . ':' . floor(($time % 3600) / 60) . ' Stunden'; - } + if ($time < 60) return $time . ' Sekunden'; + elseif ($time < 3600) return floor($time / 60) . ' Minuten'; + else return floor($time / 3600) . ':' . sprintf('%02d', floor(($time % 3600) / 60)) . ' Stunden'; } ?> diff --git a/sms_contact/js/sms.js b/sms_contact/js/sms.js deleted file mode 100644 index a395f42..0000000 --- a/sms_contact/js/sms.js +++ /dev/null @@ -1,34 +0,0 @@ -String.prototype.ltrim = function (clist) { - if (clist) return this.replace(new RegExp ('^[' + clist + ']+'), ''); - return this.replace(/^\s+/, ''); -} - -String.prototype.rtrim = function (clist) { - if (clist) return this.replace(new RegExp ('[' + clist + ']+$'), ''); - return this.replace(/\s+$/, ''); -} - -String.prototype.trim = function (clist) { - if (clist) return this.ltrim(clist).rtrim(clist); - return this.ltrim().rtrim(); -}; - -function update_length(msg) { - document.getElementById('length').innerHTML = msg.value.trim().length; - document.getElementById('left').innerHTML = 160 - msg.value.trim().length; - document.getElementById('left').style.color = (msg.value.trim().length > 160) ? 'red' : 'green'; -} - -function send(frm) { - var delta_t = 1000*5*60; // vadility of hash in seconds - frm.message.value = frm.message.value.trim() - frm.antispam.value = hex_md5(frm.message.value + Math.ceil(new Date().getTime() / delta_t)); - - if (frm.message.value.length > 160) { - alert('Message is too long!'); - return false; - } - else { - return true; - } -} diff --git a/sms_contact/js/md5.js b/sms_contact/md5.js similarity index 100% rename from sms_contact/js/md5.js rename to sms_contact/md5.js diff --git a/sms_contact/sms.js b/sms_contact/sms.js new file mode 100644 index 0000000..f5050cc --- /dev/null +++ b/sms_contact/sms.js @@ -0,0 +1,47 @@ +String.prototype.ltrim = function (clist) { + if (clist) return this.replace(new RegExp ('^[' + clist + ']+'), ''); + return this.replace(/^\s+/, ''); +} + +String.prototype.rtrim = function (clist) { + if (clist) return this.replace(new RegExp ('[' + clist + ']+$'), ''); + return this.replace(/\s+$/, ''); +} + +String.prototype.trim = function (clist) { + if (clist) return this.ltrim(clist).rtrim(clist); + return this.ltrim().rtrim(); +}; + +function update_length(elm) { + var msg = encode_msg(elm.value); + + document.getElementById('length').innerHTML = msg.length; + document.getElementById('left').innerHTML = 160 - msg.length; + document.getElementById('left').style.color = (msg.length > 160) ? 'red' : 'green'; + document.getElementById('send_btn').disabled = msg.length > 160 || msg.length == 0; +} + +function send(frm) { + var delta_t = 1000*5*60; // vadility of hash in seconds + var msg = encode_msg(frm.message.value); + + frm.antispam.value = hex_md5(msg + Math.ceil(new Date().getTime() / delta_t)); + + if (msg == 'Deine Nachricht') { + alert('Der Standart ist doch langweilig!'); + return false; + } + + if (msg.length > 160) { + alert('Deine Nachricht ist zu lang!'); + return false; + } + else { + return true; + } +} + +function encode_msg(msg) { + return msg.trim().replace(/\r?\n/gm, "\\n"); +} diff --git a/sms_contact/style.css b/sms_contact/style.css new file mode 100644 index 0000000..526d293 --- /dev/null +++ b/sms_contact/style.css @@ -0,0 +1,23 @@ +* { + padding: 0; + font-family: sans-serif; + font-size: small; +} + +.error { + color: red; + font-weight: bold; +} + +span.head { + font-weight: bold; +} + +span.number { + +} + +textarea { + width: 165px; + height: 170px; +}