summaryrefslogtreecommitdiff
path: root/inc/auth
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2009-01-14 21:39:14 +0100
committerAndreas Gohr <andi@splitbrain.org>2009-01-14 21:39:14 +0100
commit1e4a1d1894f82903df44e3a3362ad2d977cb55a9 (patch)
tree3a58054726f65a43fe05b6a4a09273595be3188e /inc/auth
parentdf957b360b6b04d1dd24430cfc9c2577df30f0c2 (diff)
downloadrpg-1e4a1d1894f82903df44e3a3362ad2d977cb55a9.tar.gz
rpg-1e4a1d1894f82903df44e3a3362ad2d977cb55a9.tar.bz2
removed punbb auth backend
Since PunBB 1.2.x is no longer current but PunBB 1.3.x is not supported by the backend it is removed from the default distribution. The code was put up on http://www.dokuwiki.org/auth:punbb Note, that changes making an 1.3.x compatible version possible where pushed earlier this day. darcs-hash:20090114203914-7ad00-07063accb48675952792b9d06760bf9a748d5cd1.gz
Diffstat (limited to 'inc/auth')
-rw-r--r--inc/auth/punbb.class.php164
1 files changed, 0 insertions, 164 deletions
diff --git a/inc/auth/punbb.class.php b/inc/auth/punbb.class.php
deleted file mode 100644
index 7cef0d733..000000000
--- a/inc/auth/punbb.class.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-/**
- * PunBB auth backend
- *
- * Uses external Trust mechanism to check against PunBB's
- * user cookie. PunBB's PUN_ROOT must be defined correctly.
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-
-if(!defined('PUN_ROOT')) define('PUN_ROOT', DOKU_INC.'../forum/');
-if(get_magic_quotes_gpc()){
- nice_die('Sorry the punbb auth backend requires the PHP option
- <a href="http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc">magic_quotes_gpc</a>
- to be disabled for proper operation. Either setup your PHP install accordingly or
- choose a different auth backend.');
-}
-
-require_once PUN_ROOT.'include/common.php';
-require_once DOKU_INC.'inc/auth/mysql.class.php';
-
-#dbg($GLOBALS);
-#dbg($pun_user);
-
-class auth_punbb extends auth_mysql {
-
- /**
- * Constructor.
- *
- * Sets additional capabilities and config strings
- */
- function auth_punbb(){
- global $conf;
- $this->cando['external'] = true;
- $this->cando['logoff'] = true;
-
- // make sure we use a crypt understood by punbb
- if(function_exists('sha1')){
- $conf['passcrypt'] = 'sha1';
- }else{
- $conf['passcrypt'] = 'md5';
- }
-
- // get global vars from PunBB config
- global $db_host;
- global $db_name;
- global $db_username;
- global $db_password;
- global $db_prefix;
-
- // now set up the mysql config strings
- $conf['auth']['mysql']['server'] = $db_host;
- $conf['auth']['mysql']['user'] = $db_username;
- $conf['auth']['mysql']['password'] = $db_password;
- $conf['auth']['mysql']['database'] = $db_name;
-
- $conf['auth']['mysql']['checkPass'] = "SELECT u.password AS pass
- FROM ${db_prefix}users AS u, ${db_prefix}groups AS g
- WHERE u.group_id = g.g_id
- AND u.username = '%{user}'
- AND g.g_title != 'Guest'";
- $conf['auth']['mysql']['getUserInfo'] = "SELECT password AS pass, realname AS name, email AS mail,
- id, g_title as `group`
- FROM ${db_prefix}users AS u, ${db_prefix}groups AS g
- WHERE u.group_id = g.g_id
- AND u.username = '%{user}'";
- $conf['auth']['mysql']['getGroups'] = "SELECT g.g_title as `group`
- FROM ${db_prefix}users AS u, ${db_prefix}groups AS g
- WHERE u.group_id = g.g_id
- AND u.username = '%{user}'";
- $conf['auth']['mysql']['getUsers'] = "SELECT DISTINCT u.username AS user
- FROM ${db_prefix}users AS u, ${db_prefix}groups AS g
- WHERE u.group_id = g.g_id";
- $conf['auth']['mysql']['FilterLogin'] = "u.username LIKE '%{user}'";
- $conf['auth']['mysql']['FilterName'] = "u.realname LIKE '%{name}'";
- $conf['auth']['mysql']['FilterEmail'] = "u.email LIKE '%{email}'";
- $conf['auth']['mysql']['FilterGroup'] = "g.g_title LIKE '%{group}'";
- $conf['auth']['mysql']['SortOrder'] = "ORDER BY u.username";
- $conf['auth']['mysql']['addUser'] = "INSERT INTO ${db_prefix}users
- (username, password, email, realname)
- VALUES ('%{user}', '%{pass}', '%{email}', '%{name}')";
- $conf['auth']['mysql']['addGroup'] = "INSERT INTO ${db_prefix}groups (g_title) VALUES ('%{group}')";
- $conf['auth']['mysql']['addUserGroup']= "UPDATE ${db_prefix}users
- SET group_id=%{gid}
- WHERE id='%{uid}'";
- $conf['auth']['mysql']['delGroup'] = "DELETE FROM ${db_prefix}groups WHERE g_id='%{gid}'";
- $conf['auth']['mysql']['getUserID'] = "SELECT id FROM ${db_prefix}users WHERE username='%{user}'";
- $conf['auth']['mysql']['updateUser'] = "UPDATE ${db_prefix}users SET";
- $conf['auth']['mysql']['UpdateLogin'] = "username='%{user}'";
- $conf['auth']['mysql']['UpdatePass'] = "password='%{pass}'";
- $conf['auth']['mysql']['UpdateEmail'] = "email='%{email}'";
- $conf['auth']['mysql']['UpdateName'] = "realname='%{name}'";
- $conf['auth']['mysql']['UpdateTarget']= "WHERE id=%{uid}";
- $conf['auth']['mysql']['delUserGroup']= "UPDATE ${db_prefix}users SET g_id=4 WHERE id=%{uid}";
- $conf['auth']['mysql']['getGroupID'] = "SELECT g_id AS id FROM ${db_prefix}groups WHERE g_title='%{group}'";
-
- $conf['auth']['mysql']['TablesToLock']= array("${db_prefix}users", "${db_prefix}users AS u",
- "${db_prefix}groups", "${db_prefix}groups AS g");
-
- $conf['auth']['mysql']['debug'] = 1;
- // call mysql constructor
- $this->auth_mysql();
- }
-
- /**
- * Just checks against the $pun_user variable
- */
- function trustExternal($user,$pass,$sticky=false){
- global $USERINFO;
- global $conf;
- global $lang;
- global $pun_user;
- global $pun_config;
- $sticky ? $sticky = true : $sticky = false; //sanity check
-
- // someone used the login form
- if(!empty($user)){
- if($this->checkPass($user,$pass)){
- $expire = ($sticky) ? time() + 31536000 : 0;
- $uinfo = $this->getUserData($user);
- pun_setcookie($uinfo['id'], auth_cryptPassword($pass), $expire);
- $pun_user = array();
- $pun_user['password'] = auth_cryptPassword($pass);
- $pun_user['username'] = $user;
- $pun_user['realname'] = $uinfo['name'];
- $pun_user['email'] = $uinfo['mail'];
- $pun_user['g_title'] = $uinfo['group'];
- }else{
- //invalid credentials - log off
- msg($lang['badlogin'],-1);
- auth_logoff();
- return false;
- }
- }
-
- if(isset($pun_user) && !$pun_user['is_guest']){
- // okay we're logged in - set the globals
- $USERINFO['pass'] = $pun_user['password'];
- $USERINFO['name'] = $pun_user['realname'];
- $USERINFO['mail'] = $pun_user['email'];
- $USERINFO['grps'] = array($pun_user['g_title']);
-
- $_SERVER['REMOTE_USER'] = $pun_user['username'];
- $_SESSION[DOKU_COOKIE]['auth']['user'] = $pun_user['username'];
- $_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO;
- return true;
- }
-
- // to be sure
- auth_logoff();
- return false;
- }
-
- /**
- * remove punbb cookie on logout
- */
- function logOff(){
- global $pun_user;
- $pun_user = array();
- $pun_user['is_guest'] = 1;
- pun_setcookie(1, random_pass(8), time() + 31536000);
- }
-}
-//Setup VIM: ex: et ts=2 enc=utf-8 :