summaryrefslogtreecommitdiffstats
path: root/inc
diff options
context:
space:
mode:
authorSimon Rettberg2013-11-05 20:25:55 +0100
committerSimon Rettberg2013-11-05 20:25:55 +0100
commite277baed387b642bb7e6707b49e55da4719a9c79 (patch)
tree350343881ddc35fe53862e971506bc405a9a7fad /inc
parentTolle neue APIs Sachen (diff)
downloadslx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.tar.gz
slx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.tar.xz
slx-admin-e277baed387b642bb7e6707b49e55da4719a9c79.zip
Working on download of remote configs
Diffstat (limited to 'inc')
-rw-r--r--inc/message.inc.php23
-rw-r--r--inc/render.inc.php3
-rw-r--r--inc/util.inc.php24
3 files changed, 39 insertions, 11 deletions
diff --git a/inc/message.inc.php b/inc/message.inc.php
index 4da277e7..62c68e98 100644
--- a/inc/message.inc.php
+++ b/inc/message.inc.php
@@ -2,16 +2,19 @@
// TODO: Move to extra file
$error_text = array(
- 'loginfail' => 'Benutzername oder Kennwort falsch',
- 'token' => 'Ungültiges Token. CSRF Angriff?',
- 'adduser-disabled' => 'Keine ausreichenden Rechte, um weitere Benutzer hinzuzufügen',
- 'password-mismatch' => 'Passwort und Passwortbestätigung stimmen nicht überein',
- 'empty-field' => 'Ein Feld wurde nicht ausgefüllt',
- 'adduser-success' => 'Benutzer erfolgreich hinzugefügt',
- 'no-permission' => 'Keine ausreichenden Rechte, um auf diese Seite zuzugreifen',
- 'settings-updated' => 'Einstellungen wurden aktualisiert',
- 'debug-mode' => 'Der Debug-Modus ist aktiv!',
- 'value-invalid' => 'Der Wert {{1}} ist ungültig für die Option {{0}} und wurde ignoriert',
+ 'loginfail' => 'Benutzername oder Kennwort falsch',
+ 'token' => 'Ungültiges Token. CSRF Angriff?',
+ 'adduser-disabled' => 'Keine ausreichenden Rechte, um weitere Benutzer hinzuzufügen',
+ 'password-mismatch' => 'Passwort und Passwortbestätigung stimmen nicht überein',
+ 'empty-field' => 'Ein Feld wurde nicht ausgefüllt',
+ 'adduser-success' => 'Benutzer erfolgreich hinzugefügt',
+ 'no-permission' => 'Keine ausreichenden Rechte, um auf diese Seite zuzugreifen',
+ 'settings-updated' => 'Einstellungen wurden aktualisiert',
+ 'debug-mode' => 'Der Debug-Modus ist aktiv!',
+ 'value-invalid' => 'Der Wert {{1}} ist ungültig für die Option {{0}} und wurde ignoriert',
+ 'invalid-action' => 'Ungültige Aktion: {{0}}',
+ 'remote-timeout' => 'Konnte Ressource {{0}} nicht herunterladen',
+ 'remote-parse-failed' => 'Parsen der empfangenen Daten fehlgeschlagen',
);
class Message
diff --git a/inc/render.inc.php b/inc/render.inc.php
index 41b8e2b8..dfe91ccb 100644
--- a/inc/render.inc.php
+++ b/inc/render.inc.php
@@ -52,7 +52,8 @@ class Render
,
' </div>
<script src="script/jquery.js"></script>
- <script src="script/bootstrap.min.js"></script></body>
+ <script src="script/bootstrap.min.js"></script>
+ <script src="script/custom.js"></script></body>
</html>'
;
}
diff --git a/inc/util.inc.php b/inc/util.inc.php
index f456d164..591c7e79 100644
--- a/inc/util.inc.php
+++ b/inc/util.inc.php
@@ -72,5 +72,29 @@ class Util
return nl2br($string);
}
+ /**
+ * Download file, obey given timeout in seconds
+ * Return data on success, false on failure
+ */
+ function download($url, $timeout, &$code) {
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_HEADER, true);
+ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, ceil($timeout / 2));
+ curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
+ $data = curl_exec($ch);
+ $data = explode("\r\n\r\n", $data, 2);
+ if (preg_match('#^HTTP/\d+\.\d+ (\d+) #', $data[0], $out)) {
+ $code = (int)$out[1];
+ } else {
+ $code = 999;
+ }
+ curl_close($ch);
+ if (count($data) < 2) return '';
+ return $data[1];
+ }
+
}