Cpg1.4.2 > Cpg142 / Bridge / Eblah.inc.php

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Cpg1.4.2

Download:
cpg1.4.2.zip

Category:
Image Galleries

Archive Content:

Cpg142

Cpg142 > Albums > Edit

Cpg142 > Albums

Cpg142 > Albums > Userpics

Cpg142

Cpg142 > Bridge

Cpg142

Cpg142 > Docs

Cpg142 > Docs > Pics

Cpg142 > Docs

Cpg142 > Docs > Theme

Cpg142 > Docs

Cpg142

Cpg142 > Images

Cpg142 > Images > Flags

Cpg142 > Images

Cpg142 > Images > Smiles

Cpg142 > Images

Cpg142

Cpg142 > Include

Cpg142 > Include > Makers

Cpg142 > Include

Cpg142

Cpg142 > Lang

Cpg142

Cpg142 > Logs

Cpg142

Cpg142 > Plugins > Sample

Cpg142 > Plugins > Sef Urls

Cpg142

Cpg142 > Sql

Cpg142

Cpg142 > Themes > Classic > Images

Cpg142 > Themes > Classic

Cpg142 > Themes > Eyeball > Images

Cpg142 > Themes > Eyeball

Cpg142 > Themes > Fruity > Images

Cpg142 > Themes > Fruity

Cpg142 > Themes > Hardwired > Images

Cpg142 > Themes > Hardwired

Cpg142 > Themes > Igames > Images

Cpg142 > Themes > Igames

Cpg142 > Themes > Mac Ox X > Images

Cpg142 > Themes > Mac Ox X

Cpg142 > Themes > Project Vii > Images

Cpg142 > Themes > Project Vii

Cpg142 > Themes > Rainy Day > Images

Cpg142 > Themes > Rainy Day

Cpg142 > Themes > Sample > Images

Cpg142 > Themes > Sample

Cpg142 > Themes > Water Drop > Images

Cpg142 > Themes > Water Drop

Cpg142

Eblah.inc.php:


<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2005 Coppermine Dev Team
  v1.1 originally written by Gregory DEMAR

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License,  or
  (at your option) any later version.
  ********************************************
  Coppermine version: 1.4.2
  $Source: /cvsroot/coppermine/devel/bridge/eblah.inc.php, v $
  $Revision: 1.5 $
  $Author: gaugau $
  $Date: 2005/10/25 01:16:09 $
**********************************************/


if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

// Switch that allows overriding the bridge manager with hard-coded values
define('USE_BRIDGEMGR',  0);

require 
'bridge/udb_base.inc.php';

class 
cpg_udb extends core_udb {

    function 
cpg_udb()
    {
        global 
$BRIDGE,  $CONFIG;
        
        if (!
USE_BRIDGEMGR) { // the vars that are used when bridgemgr is disabled

            
$this->cookie_name 'eblah';
            
$this->datapath '../cgi-bin/forum/Members/';
            
$this->boardurl 'http://www.yoursite.com/cgi-bin/forum';
        }
        
        
$this->multigroups 0;
        
$this->group_overrride 0;
        
        
// Database connection settings
        
$this->db = array(
            
'name' => $CONFIG['dbname'],
            
'host' => $CONFIG['dbserver'],
            
'user' => $CONFIG['dbuser'],
            
'password' => $CONFIG['dbpass'],
            
'prefix' =>$CONFIG['TABLE_PREFIX']
        );
        
        
// Board table names
        
$this->table = array(
            
'users' => 'users',
            
'groups' => 'usergroups'
        
);

        
// Derived full table names
        
$this->usertable '`' $this->db['name'] . '`.' $this->db['prefix'] . $this->table['users'];
        
$this->groupstable =  '`' $this->db['name'] . '`.' $this->db['prefix'] . $this->table['groups'];
        
        
// Table field names
        
$this->field = array(
            
'username' => 'user_name',  // name of 'username' field in users table
            
'user_id' => 'user_id',  // name of 'id' field in users table
            
'password' => 'user_password',  // name of 'password' field in users table
            
'email' => 'user_email',  // name of 'email' field in users table
            
'regdate' => 'user_regdate',  // name of 'registered' field in users table
            
'location' => 'user_location',  // name of 'location' field in users table
            
'website' => 'user_website',  // name of 'website' field in users table
            
'usertbl_group_id' => 'user_group',  // name of 'group id' field in users table
            
'grouptbl_group_id' => 'group_id'
        
);
        
        
// Pages to redirect to
        
$this->page = array(
            
'register' => '/register.php',
            
'editusers' => '/userlist.php',
            
'edituserprofile' => '/Blah.pl?b=, v=memberpanel, a=view, u='
        
);
        
        
// Group ids
        
$this->admingroups = array(1);
        
$this->guestgroup 3;

        
// Connect to db
        
$this->connect($CONFIG['link_id']);
    }
    
    
// definition of how to extract id,  name,  group from a session cookie
    
function session_extraction()
    {
        return 
false;
    }
    
    
// definition of how to extract an id and password hash from a cookie
    
function cookie_extraction()
    {
        if (isset(
$_COOKIE[$this->cookie_name '_un']) && isset($_COOKIE[$this->cookie_name '_pw'])){
            return array(
$this->get_user_id($_COOKIE[$this->cookie_name '_un']),  $_COOKIE[$this->cookie_name '_pw']);
        }
        
        return 
false;
    }
    
    
// View user profile
    
function view_profile($uid)
    {
        
$this->redirect($this->page['edituserprofile'].$this->get_user_name($uid $uid USER_ID));
    }

    
// Edit user profile
    
function edit_profile($uid)
    {
        
$this->redirect($this->page['edituserprofile'].$this->get_user_name($uid));
    }

    
// definition of actions required to convert a password from user database form to cookie form
    
function udb_hash_db($password)
    {
        return 
$password;
        
//return crypt($password,  $_COOKIE[$this->cookie_name . '_pw']);
    
}
    
    
// Login
    
function login_page()
    {
        
$this->redirect('/Blah.pl?, v=login');
    }

    
// Logout
    
function logout_page()
    {
        
$this->redirect('/Blah.pl?, v=login, p=3');
    }
    
    function 
get_user_id($username)
    {
        static 
$x false;
        
        
$username addslashes($username);

        
$sql "SELECT {$this->field['user_id']} AS user_id FROM {$this->usertable} WHERE {$this->field['username']}  = '$username'";

        
$result cpg_db_query($sql,  $this->link_id);

        if (
mysql_num_rows($result)) {
            
$row mysql_fetch_array($result);
            
mysql_free_result($result);
            return 
$row['user_id'];
        } else {
            if (!
$x){
                
$x =  true;
                
$this->sync_users();
                
$id 0;
                
$id $this->get_user_id($username);
                return 
$id;
            }
        }
        return 
0;
    }
    
    function 
synchronize_groups()
    {
        
parent::synchronize_groups();
        
$this->sync_users();
    }
    
    function 
sync_users()
    {
        
$data = array();
        
        if (
$dh opendir($this->datapath)) {
            while ((
$file readdir($dh)) !== false) {
                if (
preg_match('/([^\.]+)\.dat/',  $file,  $matches)) $data[] = $matches[1];
            }
            
closedir($dh);
        }
        
        
$groupdata file_get_contents($this->datapath '../Prefs/Ranks2.txt');
        
preg_match('/members = \(([^\)]+)\)/',  $groupdata,  $matches);
        
$adminusernames explode(', ',  $matches[1]);

        foreach (
$data as $name){
            
$name trim($name);
            
$info file($this->datapath "$name.dat");
            
$info array_map('trim',  $info);
            
            list(
$password,  $username,  $email, , $rank) = $info;
            
$user_group in_array($username,  $adminusernames) ? 2;
            
cpg_db_query("INSERT IGNORE INTO {$this->usertable} (`user_name`,  `user_password`,  `user_email`,  `user_active`,  `user_group`) VALUES ( '$username',  '$password',  '$email',  'YES',  $user_group)");
        }
    }
}

// and go !
$cpg_udb = new cpg_udb;



Other Image Galleries Scripts:

WebMaster Resources Home

©RingsWorld.com