From 281d3e80be48ce6a1ab18bf0d913d1dabf7d328b Mon Sep 17 00:00:00 2001 From: lesterchan Date: Sat, 16 May 2009 14:23:22 +0000 Subject: [PATCH] Added basic login feature git-svn-id: http://yourls.googlecode.com/svn/trunk@13 12232710-3e20-11de-b438-597f59cd7555 --- admin/index.php | 12 +++---- admin/login.php | 69 +++++++++++++++++++++++++++++++++++++++++ css/style.css | 17 ++++++++++ images/yourls-logo.png | Bin 0 -> 11588 bytes includes/auth.php | 33 +++----------------- includes/functions.php | 35 ++++++++++----------- 6 files changed, 112 insertions(+), 54 deletions(-) create mode 100644 images/yourls-logo.png diff --git a/admin/index.php b/admin/index.php index faca855..b218b28 100644 --- a/admin/index.php +++ b/admin/index.php @@ -124,8 +124,8 @@ Insert URL « YOURLS » Your Own URL Shortener | <?php echo YOURLS_SITE; ?> - - + + @@ -134,8 +134,9 @@ -

YOURLS: Your Own URL Shortener

-

Your are logged in as: . Logout

+

YOURLS

+

YOURLS: Your Own URL Shortener

+

Your are logged in as: . Logout

Display to of URLs. Overall, tracking c); ?> links, s); ?> clicks, and counting! @@ -259,7 +260,6 @@ ?> - - +

\ No newline at end of file diff --git a/admin/login.php b/admin/login.php index e69de29..959ad41 100644 --- a/admin/login.php +++ b/admin/login.php @@ -0,0 +1,69 @@ + $password) { + if($user == $_POST['username'] && $password == $_POST['password']) { + setcookie('yourls_username', $user, time() + (60*60*24*7)); + header('Location: '.YOURLS_SITE.'/admin/'); + exit(); + } else { + $error_msg = 'Invalid username or password'; + } + } +} +?> + + + + Login « YOURLS » Your Own URL Shortener | <?php echo YOURLS_SITE; ?> + + + + + + + + +
+
+

+ YOURLS +

+ '.$error_msg.'

'; + } + ?> +

+
+ +

+

+
+ +

+

+ +

+
+
+ + \ No newline at end of file diff --git a/css/style.css b/css/style.css index 71f94e4..5bdaf53 100644 --- a/css/style.css +++ b/css/style.css @@ -89,4 +89,21 @@ td.actions input.disabled, td.actions input.loading{ } tr:hover td.actions input{ visibility:visible; +} +.error { + color: red; +} +#footer { + text-align: center; +} +#login { + width: 210px; + margin: 200px auto 0px auto; +} +#login P{ + font-weight: bold; +} +#login .text { + margin-top: 5px; + width: 100%; } \ No newline at end of file diff --git a/images/yourls-logo.png b/images/yourls-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f96db488b0f27a92e9eda5667a84d3efa9385122 GIT binary patch literal 11588 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 Axc~qF literal 0 HcmV?d00001 diff --git a/includes/auth.php b/includes/auth.php index 2cd0a76..7b1eac6 100644 --- a/includes/auth.php +++ b/includes/auth.php @@ -1,30 +1,5 @@ 1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); - $data = array(); - preg_match_all('@(\w+)=(?:([\'"])([^$2]+)$2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER); - foreach ($matches as $m) { - $data[$m[1]] = $m[3] ? trim($m[3],"\",'") : trim($m[4],"\",'"); - unset($needed_parts[$m[1]]); - } - return $needed_parts ? false : $data; -} - -// Prompt for Authentication -function yourls_auth_headers($realm = '') { - header('HTTP/1.1 401 Unauthorized'); - header('WWW-Authenticate: Digest realm="'.$realm.'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"'); - die('Sorry! Retry.'); -} // Make sure a link id (site.com/1fv) is valid. function yourls_sanitize_string ($in) { @@ -344,3 +325,19 @@ function yourls_xml_encode($array) { require_once(dirname(__FILE__).'/functions-xml.php'); return yourls_array_to_xml($array); } + + +// Check for valid user +function yourls_is_valid_user() { + global $yourls_user_passwords; + $is_valid_user = false; + if(isset($_COOKIE['yourls_username'])) { + foreach($yourls_user_passwords as $user => $password) { + if($user == $_COOKIE['yourls_username']) { + $is_valid_user = true; + break; + } + } + } + return $is_valid_user; +} \ No newline at end of file -- 2.45.0