Almost finished mod but need some help. Almost finished mod but need some help.
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Almost finished mod but need some help.

Started by just_some_guy, August 18, 2007, 04:00:03 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

just_some_guy

Hello,

I am making a mod, and need a little help. Can somebody please tell me where abouts in register.php i would enter a code to insert the registration details into a 2nd table. This is the last part of the mod.

Insert code:


mysql_query("INSERT INTO new_table
(row, row1, row2) VALUES('$user_name', '$encpassword', '$email') ")
or die(mysql_error()); 


also i have tried:


$sql= "INSERT INTO new_table".
           "(row, row1, row2) ".
           "VALUES '" . addslashes($user_name) . "', '" . addslashes($encpassword) . "', '" . addslashes($email) . ";

$result = cpg_db_query($sql);


I have tried placing the code on line 285 and above ?> but both failed and one just filled the seconed table with nothing.

Can you please tell me where to put the code.  ;D

Thanks,
Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

just_some_guy

Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

Sami

This not a Hotline ! give us some times to review your code ,
Play nice if you want support

Put this

$sql= "INSERT INTO new_table".
   "(row, row1, row2) ".
   "VALUES ('" . addslashes($user_name) . "', '" . addslashes($encpassword) . "', '" . addslashes($email)."')" ;

$result = cpg_db_query($sql);

on line 283
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

Sami

Could you describe your mod ?
I'm wondering why are you duplicating these info to another table , what are you trying to do ?
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

the code just inserts nothing into the other table.

Yes, the mod is like a bridge but it puts the gallery in priorty and when you register for the gallery you are aready a member.

It like a bridge but a bit different.

I will explain in more detail when it works...
Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

Sami

Then why don't you use xxx_users table of CPG and create another table !?
You can connect to CPG DB and check if user is valid or not

Code is working for me on my test bed
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

This different. Is this code correct?:

<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2007 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.12
  $Source$
  $Revision: 3636 $
  $Author: gaugau $
  $Date: 2007-06-29 11:35:30 +0200 (Fr, 29 Jun 2007) $
**********************************************/

define('IN_COPPERMINE'true);
define('REGISTER_PHP'true);

require(
'include/init.inc.php');
require(
'include/mailer.inc.php');

if (!
$CONFIG['allow_user_registration']) cpg_die(ERROR$lang_errors['access_denied'], __FILE____LINE__);

if (
defined('UDB_INTEGRATION')) $cpg_udb->register_page();
// Display the disclaimer
function display_disclaimer()
{
    global 
$CONFIG//, $PHP_SELF;
    
global $lang_register_disclamer$lang_register_php;

    
starttable(-1$lang_register_php['term_cond']);
    echo <<<EOT
        <form method="post" action="{$_SERVER['PHP_SELF']}">
        <tr>
                <td class="tableb" style="padding: 10px;">

EOT;
    echo 
str_replace('{SITE_NAME}'$CONFIG['gallery_name'], $lang_register_disclamer);

    echo <<<EOT
                </td>
        </tr>
        <tr>
                <td colspan="2" align="center" class="tablef">
                        <input type="submit" name="agree" value="
{$lang_register_php['i_agree']}" class="button" />
                </td>
        </tr>
        </form>

EOT;
    
endtable();
}

function 
input_user_info($errors '')
{
    global 
$CONFIG//, $PHP_SELF;
    
global $lang_register_php;

    
starttable(-1$lang_register_php['enter_info'], 2);
    echo <<<EOT
        <form method="post" action="{$_SERVER['PHP_SELF']}">

EOT;

    
$form_data = array(
        array(
'label'$lang_register_php['required_info']),
        array(
'input''username'$lang_register_php['username'], 25),
        array(
'password''password'$lang_register_php['password'], 25),
        array(
'password''password_verification'$lang_register_php['password_again'], 25),
        array(
'input''email'$lang_register_php['email'], 255),
        array(
'label'$lang_register_php['optional_info']),
                array(
'input''user_profile1'$CONFIG['user_profile1_name'], 255),
                array(
'input''user_profile2'$CONFIG['user_profile2_name'], 255),
                array(
'input''user_profile3'$CONFIG['user_profile3_name'], 255),
                array(
'input''user_profile4'$CONFIG['user_profile4_name'], 255),
                array(
'input''user_profile5'$CONFIG['user_profile5_name'], 255),
                array(
'textarea''user_profile6'$CONFIG['user_profile6_name'], 255)
        );

    foreach (
$form_data as $element) switch ($element[0]) {
        case 
'label' :
            echo <<<EOT
        <tr>
            <td colspan="2" class="tableh2">
                        <b>
{$element[1]}<b>
        </td>
        </tr>

EOT;
            break;

        case 
'input' :
            if (isset(
$_POST[$element[1]])) {
                
$value $_POST[$element[1]];
            } else {
                
$value '';
            }
            if (
$element[2]) echo <<<EOT
        <tr>
            <td width="40%" class="tableb"  height="25">
                        
{$element[2]}
        </td>
        <td width="60%" class="tableb" valign="top">
                <input type="text" style="width: 100%" name="
{$element[1]}" maxlength="{$element[3]}" value="$value" class="textinput" />
                </td>
        </tr>

EOT;
            break;

        case 
'radio' :
            
// added the radio option for possible future use. The array definition would have to look like this:
            // array('radio', 'user_var', 'Text label', 'option 1','option 2'),
            // enabling this option requires changes in profile.php and usermgr.php as well
            
if (isset($_POST[$element[1]])) {
                
$value $_POST[$element[1]];
            } else {
                
$value '';
            }
            if (
$element[2]) echo <<<EOT
        <tr>
            <td width="40%" class="tableb"  height="25">
                        
{$element[2]}
        </td>
        <td width="60%" class="tableb" valign="top">
                <input type="radio" name="
{$element[1]}" id="{$element[1]}1" value="{$element[3]}" class="radio" /><label for="{$element[1]}1" class="clickable_option">{$element[3]}</label>
                <input type="radio" name="
{$element[1]}" id="{$element[1]}2" value="{$element[4]}" class="radio" /><label for="{$element[1]}2" class="clickable_option">{$element[4]}</label>
                </td>
        </tr>

EOT;
            break;

        case 
'textarea' :
            if (isset(
$_POST[$element[1]])) {
                
$value $_POST[$element[1]];
            } else {
                
$value '';
            }
           if (
$element[2]) echo <<<EOT
        <tr>
            <td width="40%" class="tableb"  height="25">
                        
{$element[2]}
        </td>
        <td width="60%" class="tableb" valign="top">
                <textarea name="
{$element[1]}" rows="7" wrap="virtual"  class="textinput" style="width:100%">$value</textarea>
                </td>
        </tr>


EOT;
            break;

        case 
'password' :
            echo <<<EOT
        <tr>
            <td width="40%" class="tableb"  height="25">
                        
{$element[2]}
        </td>
        <td width="60%" class="tableb" valign="top">
                <input type="password" style="width: 100%" name="
{$element[1]}" maxlength="{$element[3]}" value="" class="textinput" />
                </td>
        </tr>

EOT;
            break;

        default:
            
cpg_die(CRITICAL_ERROR'Invalid action for form creation ' $element[0], __FILE____LINE__);
    }

    if (
$errors) {
        echo <<<EOT
        <tr>
                <td colspan="2" class="tableh2" align="center">
                        <b>&#38;#149;&nbsp;&#38;#149;&nbsp;&#38;#149;&nbsp;
{$lang_register_php['error']}&nbsp;&#38;#149;&nbsp;&#38;#149;&nbsp;&#38;#149;</b>
                </td>
        </tr>
        <tr>
                <td colspan="2" class="tableb">
                        <b><ul>
$errors</ul><b>
                </td>
        </tr>

EOT;
    }
    echo <<<EOT
        <tr>
                <td colspan="2" align="center" class="tablef">
                        <input type="submit" name="submit" value="
{$lang_register_php['submit']}" class="button" />
                </td>
        </tr>
        </form>

EOT;
    
endtable();
}

function 
get_post_var($var)
{
    global 
$lang_errors;

    if (!isset(
$_POST[$var])) cpg_die(CRITICAL_ERROR$lang_errors['param_missing'] . " ($var)"__FILE____LINE__);
    return 
trim($_POST[$var]);
}

function 
check_user_info(&$error)
{
    global 
$CONFIG//, $PHP_SELF;
    
global $lang_register_php$lang_register_confirm_email$lang_continue$lang_register_approve_email$lang_register_activated_email$lang_register_user_login;
                
//$CONFIG['admin_activation'] = FALSE;
                //$CONFIG['admin_activation'] = TRUE;

    
$user_name trim(get_post_var('username'));
    
$password trim(get_post_var('password'));
    
$password_again trim(get_post_var('password_verification'));
    
$email trim(get_post_var('email'));
        
$profile1 addslashes($_POST['user_profile1']);
        
$profile2 addslashes($_POST['user_profile2']);
        
$profile3 addslashes($_POST['user_profile3']);
        
$profile4 addslashes($_POST['user_profile4']);
        
$profile5 addslashes($_POST['user_profile5']);
        
$profile6 addslashes($_POST['user_profile6']);

    
$sql "SELECT user_id " "FROM {$CONFIG['TABLE_USERS']} " "WHERE user_name = '" addslashes($user_name) . "'";
    
$result cpg_db_query($sql);

    if (
mysql_num_rows($result)) {
        
$error '<li>' $lang_register_php['err_user_exists'];
        return 
false;
    }
    
mysql_free_result($result);

    if (
utf_strlen($user_name) < 2$error .= '<li>' $lang_register_php['err_uname_short'];
    if (
utf_strlen($password) < 2$error .= '<li>' $lang_register_php['err_password_short'];
    if (
$password == $user_name$error .= '<li>' $lang_register_php['err_uname_pass_diff'];
    if (
$password != $password_again$error .= '<li>' $lang_register_php['err_password_mismatch'];

    if (!
eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,6}$"$email)) $error .= '<li>' $lang_register_php['err_invalid_email'];

    if (
$error != '') return false;

    if (!
$CONFIG['allow_duplicate_emails_addr']) {
        
$sql "SELECT user_id " "FROM {$CONFIG['TABLE_USERS']} " "WHERE user_email = '" addslashes($email) . "'";
        
$result cpg_db_query($sql);

        if (
mysql_num_rows($result)) {
            
$error '<li>' $lang_register_php['err_duplicate_email'];
            return 
false;
        }

        
mysql_free_result($result);
    }

    if (
$CONFIG['reg_requires_valid_email'] || $CONFIG['admin_activation']) {
        
$active 'NO';
        list(
$usec$sec) = explode(' 'microtime());
        
$seed = (float) $sec + ((float) $usec 100000);
        
srand($seed);
        
$act_key md5(uniqid(rand(), 1));
    } else {
        
$active 'YES';
        
$act_key '';
    }

                if (
$CONFIG['enable_encrypted_passwords']) {
                        
$encpassword md5($password);
                } else {
                        
$encpassword $password;
                }



    
$sql "INSERT INTO {$CONFIG['TABLE_USERS']} ".
           
"(user_regdate, user_active, user_actkey, user_name, user_password, user_email, user_profile1, user_profile2, user_profile3, user_profile4, user_profile5, user_profile6) ".
           
"VALUES (NOW(), '$active', '$act_key', '" addslashes($user_name) . "', '" addslashes($encpassword) . "', '" addslashes($email) . "', '$profile1', '$profile2', '$profile3', '$profile4', '$profile5', '$profile6')";
            
if (
$CONFIG['log_mode'])
{
$sql"INSERT INTO smf_members".
   "(memberName, passwd, emailAddress) ".
   "VALUES ('" addslashes($user_name) . "', '" addslashes($encpassword) . "', '" addslashes($email)."')" ;

$result cpg_db_query($sql);
        
log_write('New user "'.addslashes($user_name).'" created on '.date("F j, Y, g:i a"),CPG_ACCESS_LOG);
    }
         
    
$result cpg_db_query($sql);



    if (
$CONFIG['reg_requires_valid_email']) {
        if (!
$CONFIG['admin_activation']==1) { //user gets activation email
                                        
$act_link rtrim($CONFIG['site_url'], '/') . '/register.php?activate=' $act_key;
                                        
$template_vars = array(
                                                        
'{SITE_NAME}' => $CONFIG['gallery_name'],
                                                        
'{USER_NAME}' => $user_name,
                                                        
'{ACT_LINK}' => $act_link
            
);
                                        if (!
cpg_mail($emailsprintf($lang_register_php['confirm_email_subject'], $CONFIG['gallery_name']), nl2br(strtr($lang_register_confirm_email$template_vars)))) {
                                                        
cpg_die(CRITICAL_ERROR$lang_register_php['failed_sending_email'], __FILE____LINE__);
                                        }
                                }
        if (
$CONFIG['admin_activation']==1) {
                                        
msg_box($lang_register_php['information'], $lang_register_php['thank_you_admin_activation'], $lang_continue'index.php');
                                } else {
                                        
msg_box($lang_register_php['information'], $lang_register_php['thank_you'], $lang_continue'index.php');
                                }
    } else {
                                        
msg_box($lang_register_php['information'], $lang_register_php['acct_active'], $lang_continue'index.php');
    }

    
// email notification to admin
        
if ($CONFIG['reg_notify_admin_email']) {

                        
// get default language in which to inform the admin
                        
$lang_register_php_def cpg_get_default_lang_var('lang_register_php');
                        
$lang_register_approve_email_def cpg_get_default_lang_var('lang_register_approve_email');

                                        if (
$CONFIG['admin_activation']==1) {
                                                        
$act_link rtrim($CONFIG['site_url'], '/') . '/register.php?activate=' $act_key;
                                                        
$template_vars = array(
                                                                        
'{SITE_NAME}' => $CONFIG['gallery_name'],
                                                                        
'{USER_NAME}' => $user_name,
                                                                        
'{ACT_LINK}' => $act_link,
                                                        );
                                                        
cpg_mail('admin'sprintf($lang_register_php_def['notify_admin_request_email_subject'], $CONFIG['gallery_name']), nl2br(strtr($lang_register_approve_email_def$template_vars)));
                                        } else {
                                                        
cpg_mail('admin'sprintf($lang_register_php_def['notify_admin_email_subject'], $CONFIG['gallery_name']), sprintf($lang_register_php_def['notify_admin_email_body'], $user_name));
                }
                                }

    return 
true;
}

if (isset(
$_GET['activate'])) {
                
//$CONFIG['admin_activation'] = FALSE;
                //$CONFIG['admin_activation'] = TRUE;

    
$act_key addslashes(substr($_GET['activate'], 32));
    if (
strlen($act_key) != 32cpg_die(ERROR$lang_register_php['acct_act_failed'], __FILE____LINE__);

    
$sql "SELECT user_active user_active, user_email, user_name, user_password " "FROM {$CONFIG['TABLE_USERS']} " "WHERE user_actkey = '$act_key' " "LIMIT 1";
    
$result cpg_db_query($sql);
    if (!
mysql_num_rows($result)) cpg_die(ERROR$lang_register_php['acct_act_failed'], __FILE____LINE__);

    
$row mysql_fetch_array($result);
    
mysql_free_result($result);

    if (
$row['user_active'] == 'YES'cpg_die(ERROR$lang_register_php['acct_already_act'], __FILE____LINE__);

    
pageheader($lang_register_php['page_title']);
    
$email $row['user_email'];
    
$user_name $row['user_name'];
    
$password $row['user_password'];

    
$sql "UPDATE {$CONFIG['TABLE_USERS']} " "SET user_active = 'YES' " "WHERE user_actkey = '$act_key' " "LIMIT 1";
    
$result cpg_db_query($sql);

                if (
$CONFIG['admin_activation']==1) { //after admin approves, user receives email notification
                        
msg_box($lang_register_php['information'], $lang_register_php['acct_active_admin_activation'], $lang_continue'index.php');
                        
$site_link $CONFIG['site_url'];
                        
$template_vars = array(
                         
'{SITE_LINK}' => $site_link,
                         
'{USER_NAME}' => $user_name,
                         
'{PASSWORD}' => $password,
                         
'{SITE_NAME}' => $CONFIG['gallery_name'],
                                );
                        
cpg_mail($emailsprintf($lang_register_php['notify_user_email_subject'], $CONFIG['gallery_name']), nl2br(strtr($lang_register_activated_email$template_vars)));
                } else { 
//user self-activated, gets message box that account was activated
                        
msg_box($lang_register_php['information'], $lang_register_php['acct_active'], $lang_continue'index.php');
                }
} else {
  
pageheader($lang_register_php['page_title']);
  if (isset(
$_POST['agree'])) {
    
input_user_info();
  } elseif (isset(
$_POST['submit'])) {
    
$errors '';
    if (!
check_user_info($errors)) {
      
input_user_info($errors);
    }
  } else {
    
display_disclaimer();
  }
}
pagefooter();
ob_end_flush();

   


  
?>
Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

Sami

No !!
That is not correct , You should put your code after
$result = cpg_db_query($sql);
I mean the original one or you should rename your custom variables ($sql,$result) to something else
Also why did you put your code under if statement !!?
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

Thanks! it works, just got one problem to solve.
Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums

just_some_guy

Thats me practically finished the mod:

A little bit about:

As you probably know i was asking for help in bridging my gallery with a forum but puting priorty on the gallery. Having found that this was not possible to do with the bridger, i thought i would do it myself. In my case the gallery is the website, and i thought i would like a forum but didnt want all the users to re-register. I then thought i would bridge it but when i found that all the members would be lost and the gallery would work around the forum i didnt want to do this.

This mod makes it that when users who register for the gallery are automatically members of the forum. Also when you add the forum to your website you can easily intergrate it into your gallery without losing any members, groups or photos. This way, the gallery is still priorty and you can simply have a link to the forum and your user can post under the name they registered on the gallery with. I have done this with an SMF forum and will post the instructions shortly.

Thanks to Sami and the devshed forum for the help,

just_some_guy
Tambien, Hablo Español      PHP - Achieve Anything
"The Internet is becoming the town square for the global village of tomorrow. " - Bill Gates
Windows 7 Forums