vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Can anyone help with some modcp code? (https://vborg.vbsupport.ru/showthread.php?t=62670)

the3jams 03-19-2004 06:38 PM

Can anyone help with some modcp code?
 
I'm having trouble with some code and was wondering if someone who is more knowledgeable would be able to help? Here is my situation....

I'm trying to give my mods more editing options in their modcp. In /modcp/user.php I have added this code to try and let them edit the join date of users.
PHP Code:

// ###################### Start editjoindate #####################
if ($_REQUEST['do'] == 'editjoindate')
{
    
globalize($_REQUEST, array('userid' => INT));

    if (empty(
$userid))
    {
        
print_stop_message('invalid_user_specified');
    }

    
$noalter explode(','$undeletableusers);
    if (!empty(
$noalter[0]) AND in_array($userid$noalter))
    {
        
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
    }

    
$user $DB_site->query_first("
        SELECT * FROM " 
TABLE_PREFIX "user WHERE userid = $userid
    "
);

    
print_form_header('user','doeditjoindate'01);
    
construct_hidden_code('userid'$userid);
    
print_table_header(construct_phrase($vbphrase['x_y_id_z'], $vbphrase['join_date'], $user['username'], $user['userid']));
    
print_time_row($vbphrase['join_date'], 'joindate'$user['joindate'], 0);
    
print_submit_row();

}

// ###################### Start doeditjoindate #######################
if ($_POST['do'] == 'doeditjoindate')
{
    
globalize($_POST, array('userid' => INT'joindate' => STR));

    
$noalter explode(','$undeletableusers);
    if (!empty(
$noalter[0]) AND in_array($userid$noalter))
    {
        
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
    }

    if (empty(
$userid))
    {
        
print_stop_message('invalid_user_specified');
    }

    
$DB_site->query("
        UPDATE " 
TABLE_PREFIX "user SET
        joindate = 
$joindate
        WHERE userid = 
$userid
    "
);

    if (
can_moderate(0'canviewprofile'))
    {
        
define('CP_REDIRECT'"user.php?do=viewuser&userid=$userid");
    }
    else
    {
        
define('CP_REDIRECT'"index.php?do=home");
    }
    
print_stop_message('updated_joindate_successfully');



Everything worked fine except that it wont store the changed join date. Instead it sets it to 0. It probably has to do with the print_time_row and the way I'm updating the db, but I can't figure it out. :(

Can anyone help?

Xenon 03-19-2004 06:47 PM

you have to convert the joindate from the string into a timestamp before you enter it into the DB.

look at admincp/user.php about how they did it :)

the3jams 03-19-2004 07:36 PM

Thanks for you reply.
This is all I saw in the update routine of admincp/user.php that looked like they were converting the joindate...

PHP Code:

        require_once('./includes/functions_misc.php');
        
$user['joindate'] = vbmktime(1200intval($joindate['month']), intval($joindate['day']), intval($joindate['year'])); 

I don't know if that's what you where referring to but I tried it anyway and it still didn't work. Also where do they actually update the user table? I didn't see any update queries for posts, joindate, etc.

Maybe I'm getting in over my head. For some reason I didn't think vb2's code was this hard for me to figure out :(

Xenon 03-19-2004 07:58 PM

yes it's this line, but you have to make sure, the formular of your editfield is exaclty like the one in the ACP.

also remove the => STR form the globalize call, as you will get an array, and not a string then :)


All times are GMT. The time now is 06:49 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01090 seconds
  • Memory Usage 1,737KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete