From ee108569f5babea403cd33bad6bf04a4a9ab4f8d Mon Sep 17 00:00:00 2001 From: ozh Date: Wed, 18 Dec 2013 17:58:20 +0100 Subject: [PATCH] Core version check -- first pass --- includes/functions-update.php | 102 ++++++++++++++++++++++++++++++++++ includes/load-yourls.php | 1 + 2 files changed, 103 insertions(+) create mode 100644 includes/functions-update.php diff --git a/includes/functions-update.php b/includes/functions-update.php new file mode 100644 index 0000000..5545073 --- /dev/null +++ b/includes/functions-update.php @@ -0,0 +1,102 @@ + md5( YOURLS_SITE . YOURLS_ABSPATH ), + + 'failed_attempts' => $checks['failed'], + 'yourls_site' => YOURLS_SITE, + 'yourls_version' => YOURLS_VERSION, + 'php_version' => phpversion(), + 'mysql_version' => $ydb->mysql_version(), + 'locale' => yourls_get_locale(), + + 'db_driver' => YOURLS_DB_DRIVER, + 'db_ext_pdo' => extension_loaded( 'pdo_mysql' ), + 'db_ext_mysql' => extension_loaded( 'mysql' ), + 'db_ext_mysqli' => extension_loaded( 'mysqli' ), + 'ext_curl' => extension_loaded( 'curl' ), + + 'num_users' => count( $yourls_user_passwords ), + 'config_location' => $conf_loc, + 'yourls_private' => YOURLS_PRIVATE, + 'yourls_unique' => YOURLS_UNIQUE_URLS, + 'yourls_url_convert' => YOURLS_URL_CONVERT, + 'num_active_plugins' => yourls_has_active_plugins(), + ); + + $stuff = yourls_apply_filter( 'version_check_stuff', $stuff ); + + // Send it in + $url = 'https://api.yourls.org/core/version/1.0/'; + $req = yourls_http_post( $url, array(), $stuff ); + $checks['last_attempt'] = time(); + + // Unexpected results ? + if( is_string( $req ) or !$req->success ) { + $checks['failed_attempts']++; + $checks['last_result'] = ''; + yourls_update_option( 'core_version_checks', $checks ); + return false; + } + + // Parse response + $json = json_decode( trim( $req->body ) ); + + // All went OK - mark this down! + $checks['failed_attempts'] = 0; + $checks['last_result'] = $json; + yourls_update_option( 'core_version_checks', $checks ); + + return true; +} + + +/** + * Determine if we need to check for a newer YOURLS version + * + * Longer description + * + * @since + * @param unknown_type $a TODO + * @return unknown TODO + */ +function yourls_maybe_check_version() { + + +} \ No newline at end of file diff --git a/includes/load-yourls.php b/includes/load-yourls.php index 9e6f8f2..924879b 100644 --- a/includes/load-yourls.php +++ b/includes/load-yourls.php @@ -111,6 +111,7 @@ require_once( YOURLS_INC.'/functions-compat.php' ); require_once( YOURLS_INC.'/functions-html.php' ); require_once( YOURLS_INC.'/functions-http.php' ); +require_once( YOURLS_INC.'/functions-update.php' ); require_once( YOURLS_INC.'/functions-infos.php' ); // Load auth functions if needed -- 2.45.0