Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-04-2015, 05:21 AM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 4.2.3 Usercp Illegal string warning

Hello,

Does anybody knows what causes the follow PHP Warnings in UserCP with 4.2.3? Till 4.2.2 everything was working fine.

PHP Code:
PHP WarningIllegal string offset 'pm_messagelist' in ..../includes/class_core.php(4730) : eval()'d code on line 146

PHP Warning: Illegal string offset '
pm_newpm' in ..../includes/class_core.php(4730) : eval()'d code on line 151

PHP Warning
Illegal string offset 'pm_trackpm' in ..../includes/class_core.php(4730) : eval()'d code on line 152

PHP Warning: Illegal string offset '
pm_editfolders' in ..../includes/class_core.php(4730) : eval()'d code on line 153

PHP Warning
Illegal string offset 'substhreads_editfolders' in ..../includes/class_core.php(4730) : eval()'d code on line 169

PHP Warning: Illegal string offset '
profile' in ..../includes/class_core.php(4730) : eval()'d code on line 180

PHP Warning
Illegal string offset 'profilepic' in ..../includes/class_core.php(4730) : eval()'d code on line 183

PHP Warning: Illegal string offset '
avatar' in ..../includes/class_core.php(4730) : eval()'d code on line 190

PHP Warning
Illegal string offset 'signature' in ..../includes/class_core.php(4730) : eval()'d code on line 197

PHP Warning: Illegal string offset '
privacy' in ..../includes/class_core.php(4730) : eval()'d code on line 204

PHP Warning
Illegal string offset 'password' in ..../includes/class_core.php(4730) : eval()'d code on line 216

PHP Warning: Illegal string offset '
options' in ..../includes/class_core.php(4730) : eval()'d code on line 217

PHP Warning
Illegal string offset 'ignorelist' in ..../includes/class_core.php(4730) : eval()'d code on line 232

PHP Warning: Illegal string offset '
buddylist' in ..../includes/class_core.php(4730) : eval()'d code on line 247

PHP Warning
Illegal string offset 'event_reminders' in ..../includes/class_core.php(4730) : eval()'d code on line 252

PHP Warning: Illegal string offset '
attachments' in ..../includes/class_core.php(4730) : eval()'d code on line 262

PHP Warning
Illegal string offset 'deleteditems' in ..../includes/class_core.php(4730) : eval()'d code on line 276

PHP Warning: Illegal string offset '
moderateditems' in ..../includes/class_core.php(4730) : eval()'d code on line 314

PHP Warning
Illegal string offset 'newitems' in ..../includes/class_core.php(4730) : eval()'d code on line 367 
My file contains the follow code at the top:

PHP Code:
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT''mgallery_usercp');
define('CSRF_PROTECTION'true);
define('CONTENT_PAGE'false);

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
    
'mediagallery',
    
'user',
    
'postbit',
    
'posting'
);
// get special data templates from the datastore
$specialtemplates = array(
    
'smiliecache',
    
'bbcodecache',
    
'attachmentcache',
);
// pre-cache templates used by all actions
$globaltemplates = array(
    
'USERCP_SHELL',
    
'usercp_nav_folderbit',
    
'mediagallery_addedit_photo'
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// Stylesheets
$includecss = array();
$includecss['member'] = 'member.css';
$includecss['userprofile'] = 'userprofile.css';
$includecss['container'] = 'container.css';
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
'./includes/functions_editor.php');
require_once(
'./includes/functions_newpost.php');
require_once(
'./includes/functions_user.php');
require_once(
'./includes/class_bbcode.php');
require_once(
'./includes/class_dm.php');
require_once(
'./includes/class_dm_pm.php');
require_once(
'./includes/functions_bigthree.php');
require_once(
'./mediagallery/includes/functions.php'); 
Thank you
Reply With Quote
  #2  
Old 07-04-2015, 09:44 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It looks like that's in a template. It's using a string where an array is expected. I haven't seen anyone else mention that happening after upgrading to 4.2.3.
Reply With Quote
  #3  
Old 07-04-2015, 12:38 PM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
It looks like that's in a template. It's using a string where an array is expected. I haven't seen anyone else mention that happening after upgrading to 4.2.3.
The "funny" thing is that in my main site with 4.2.2 latest PL works fine. The exact same files in 4.2.3 shows these errors. The code works (eg the form is submitting and saved ok) but the screen is messed. Normal due to errors. I turn off all errors, warnings etc but still they appear on screen.

A final note. All mods were working fine before upgrading. And the errors are only in usercp pages. I did a test by moving the code of one such page to a non usercp page and it works fine.
Reply With Quote
  #4  
Old 07-04-2015, 12:49 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It looks like the problem is with the variable $navclass, in case that helps.
Reply With Quote
  #5  
Old 07-04-2015, 01:25 PM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
It looks like the problem is with the variable $navclass, in case that helps.
Thank you for your advice. I'll try it when my domain appears again in my new server. The code that I've for $navbar is:
PHP Code:
    // Construct Navbar
    
construct_usercp_nav('addeditphoto');
    
$navbits construct_navbits(array(
        
'usercp.php' $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel'],
        
'media_usercp.php' $vbulletin->session->vars['sessionurl_q'] => $vbphrase['mediagallery_photo_rating'],
        
'' => $vbphrase['mediagallery_post_photo']
    ));
    
$navbar render_navbar_template($navbits); 
Reply With Quote
  #6  
Old 07-04-2015, 01:39 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, $navclass seems to be an array of CSS class names to be used for the different parts of the UserCP. It's set by calling the function construct_usercp_nav(), which is called before the USERCP template is used. But I don't see anything in the code you posted that has to do with that, and I don't know why 4.2.3 would make a difference.
Reply With Quote
  #7  
Old 07-04-2015, 02:16 PM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
Well, $navclass seems to be an array of CSS class names to be used for the different parts of the UserCP. It's set by calling the function construct_usercp_nav(), which is called before the USERCP template is used. But I don't see anything in the code you posted that has to do with that, and I don't know why 4.2.3 would make a difference.
The array of css is the variable: $includecss which as you can see in the example code below is registered in the page template. The code below works fine in 4.2.2 but shows warnings in 4.2.3

PHP Code:
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT''mgallery_usercp');
define('CSRF_PROTECTION'true);
define('CONTENT_PAGE'false);

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
    
'mediagallery',
    
'user',
    
'postbit',
    
'posting'
);
// get special data templates from the datastore
$specialtemplates = array(
    
'smiliecache',
    
'bbcodecache',
    
'attachmentcache',
);
// pre-cache templates used by all actions
$globaltemplates = array(
    
'USERCP_SHELL',
    
'usercp_nav_folderbit',
    
'mediagallery_addedit_photo'
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// Stylesheets
$includecss = array();
$includecss['member'] = 'member.css';
$includecss['userprofile'] = 'userprofile.css';
$includecss['container'] = 'container.css';
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
'./includes/functions_editor.php');
require_once(
'./includes/functions_newpost.php');
require_once(
'./includes/functions_user.php');
require_once(
'./includes/class_bbcode.php');
require_once(
'./includes/class_dm.php');
require_once(
'./includes/class_dm_pm.php');
require_once(
'./includes/functions_bigthree.php');
require_once(
'./mediagallery/includes/functions.php');
// Zero Shell Template
$shell_template 0;
//  #######################################################################
//  ###############################  Add/Edit  ############################
//  #######################################################################
if ($_REQUEST['do'] == 'addedit')
{
    
// Construct Navbar
    
construct_usercp_nav('addeditphoto');
    
$navbits construct_navbits(array(
        
'usercp.php' $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel'],
        
'media_usercp.php' $vbulletin->session->vars['sessionurl_q'] => $vbphrase['mediagallery_photo_rating'],
        
'' => $vbphrase['mediagallery_post_photo']
    ));
    
$navbar render_navbar_template($navbits);
    
// Prepare Template
    
$templater vB_Template::create('mediagallery_addedit');
    
$templater->register('editorid'$editorid);
    
$templater->register('messagearea'$messagearea);
    
$templater->register('id'$photo[id]);
    
$templater->register('mediatype'$photo[mediatype]);
    
$templater->register('title'$photo[title]);
    
$templater->register('addtags'$addtags);
    
$templater->register('selectcategory'$selectcategory);
    
$templater->register('urlid'$urlid);
    
$templater->register('editmode'$editmode);
    
$HTML $templater->render();
    
// Add UserCP Shell Template
    
$shell_template 1;
}

//  #######################################################################
//  ###########################  UserCP Shell Template  ###################
//  #######################################################################
if ($shell_template == 1)
{
    
$navclass 'active';
    
$templater vB_Template::create('USERCP_SHELL');
    
$templater->register_page_templates();
    
$templater->register('includecss'$includecss);
    
$templater->register('cpnav'$cpnav);
    
$templater->register('HTML'$HTML);
    
$templater->register('navbar'$navbar);
    
$templater->register('navclass'$navclass);
    
$templater->register('onload'$onload);
    
$templater->register('pagetitle'$pagetitle);
    
$templater->register('template_hook'$template_hook);
    
print_output($templater->render());

Reply With Quote
  #8  
Old 07-04-2015, 03:03 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$includecss is the array of css files to include. $navclass is an array of class names.

Anyway, you're calling construct_usercp_nav(), if do is 'addeditphoto', so that should be OK. Is that the entire script? If not, then look for a condition where $shell_template == 1 but you have not called construct_usercp_nav(). Otherwise, maybe a plugin is changing $navclass?

Could it be the reason you don't see those messages in 4.2.2 is because error messages are turned off?
Reply With Quote
  #9  
Old 07-04-2015, 03:31 PM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Even if I can't test it right now seems that we're going closer to the bug:
Quote:
Originally Posted by kh99 View Post
Could it be the reason you don't see those messages in 4.2.2 is because error messages are turned off?
No, as I've tested without the Hide all that I had in config.php
Quote:
Originally Posted by kh99 View Post
If not, then look for a condition where $shell_template == 1 but you have not called construct_usercp_nav()
All are in place.

Quote:
Originally Posted by kh99 View Post
Anyway, you're calling construct_usercp_nav(), if do is 'addeditphoto', so that should be OK.
Here is the only difference. The do=addedit and not addeditphoto. But works with 4.2.2 as is.
Reply With Quote
  #10  
Old 07-04-2015, 03:36 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by NickTheGreek View Post
Here is the only difference. The do=addedit and not addeditphoto. But works with 4.2.2 as is.
That was my mistake, addedit is right (or at least as far as I know from looking at the code you posted). If it really is supposed to be 'addeditphoto' then I agree that it doesn't look like it would make any difference to this problem.

When you can test, you could put in code to print out the value of $navclass at different places, and I'm sure you'll be able to figure it out.
Reply With Quote
2 благодарности(ей) от:
Lynne, TheAdminMarket
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:14 PM.


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.07374 seconds
  • Memory Usage 2,343KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_php
  • (7)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (2)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete