Advanced search  

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]

Pages: [1]   Go Down

Author Topic: Almost finished mod but need some help.  (Read 5468 times)

0 Members and 1 Guest are viewing this topic.

just_some_guy

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Almost finished mod but need some help.
« on: August 18, 2007, 04:00:03 pm »

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:

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

also i have tried:

Code: [Select]
$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,
« Last Edit: August 19, 2007, 12:00:48 pm by GauGau »
Logged
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

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #1 on: August 18, 2007, 06:50:25 pm »

anyone?...
Logged
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

  • VIP
  • Coppermine addict
  • ***
  • Offline Offline
  • Gender: Male
  • Posts: 3686
  • BMossavari
    • My Project
Re: Almost finished mod but need some help.
« Reply #2 on: August 18, 2007, 07:00:13 pm »

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

Put this
Code: [Select]
$sql= "INSERT INTO new_table".
   "(row, row1, row2) ".
   "VALUES ('" . addslashes($user_name) . "', '" . addslashes($encpassword) . "', '" . addslashes($email)."')" ;

$result = cpg_db_query($sql);
on line 283
Logged
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #3 on: August 18, 2007, 07:14:40 pm »

sorry, thanks  ;D
Logged
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

  • VIP
  • Coppermine addict
  • ***
  • Offline Offline
  • Gender: Male
  • Posts: 3686
  • BMossavari
    • My Project
Re: Almost finished mod but need some help.
« Reply #4 on: August 18, 2007, 07:18:33 pm »

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

just_some_guy

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #5 on: August 18, 2007, 07:23:38 pm »

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...
Logged
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

  • VIP
  • Coppermine addict
  • ***
  • Offline Offline
  • Gender: Male
  • Posts: 3686
  • BMossavari
    • My Project
Re: Almost finished mod but need some help.
« Reply #6 on: August 18, 2007, 07:33:10 pm »

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
Logged
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #7 on: August 18, 2007, 07:59:19 pm »

This different. Is this code correct?:
Code: [Select]
<?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();

   


  
?>
Logged
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

  • VIP
  • Coppermine addict
  • ***
  • Offline Offline
  • Gender: Male
  • Posts: 3686
  • BMossavari
    • My Project
Re: Almost finished mod but need some help.
« Reply #8 on: August 18, 2007, 08:15:16 pm »

No !!
That is not correct , You should put your code after
Code: [Select]
$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 !!?
Logged
‍I don't answer to PM with support question
Please post your issue to related board

just_some_guy

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #9 on: August 18, 2007, 08:29:12 pm »

Thanks! it works, just got one problem to solve.
Logged
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

  • Supporter
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 539
  • I am currently on holiday, back in a few weeks. :D
Re: Almost finished mod but need some help.
« Reply #10 on: August 18, 2007, 11:02:39 pm »

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
Logged
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
Pages: [1]   Go Up
 

Page created in 0.036 seconds with 19 queries.