Archief - PHP: Object of class stdClass could not be converted to string+vraagje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

demon326

Legacy Member
Hallo iedereen, ik ben een module van drupal 5 naar drupal 6 aan het converteren wat mij goed gelukt is maar ik krijg namelijk een lastige error namenlijk deze:
PHP:
recoverable fatal error: Object of class stdClass could not be converted to string in C:\wamp\www\panzerkampf\sites\all\modules\phpbb\phpbb.module on line 25. 
user warning: Duplicate entry '17' for key 1 query: INSERT INTO phpbb_users (`user_id`,`group_id`,`username`,`username_clean`,`user_password`,`user_regdate`,`user_email`,`user_options`,`user_lang`,`user_timezone`,`user_sig`,`user_lastpage`,`user_permissions`,`user_from`,`user_aim`,`user_yim`,`user_msnm`,`user_jabber`,`user_website`,`user_occ`,`user_interests`,`user_form_salt`,`user_email_hash`) VALUES( 17,2,'demonhunter','','$H$93TfFsVlEJgOHsCy/LyDT9L6mAeKJK1',1204023092,'[email protected]','853','nl',1,'','','','','','','','','','','','fb53816d9da021b1','163783757117') in C:\wamp\www\panzerkampf\sites\all\modules\phpbb\phpbb.module on line 122.

het gaat om deze
PHP:
recoverable fatal error: Object of class stdClass could not be converted to string in C:\wamp\www\panzerkampf\sites\all\modules\phpbb\phpbb.module on line 25.

lijn 25:
PHP:
_phpbb_user_insert($edit, $$user);

heel de code block:
PHP:
/**
 * Implementation of hook_user
 */
function phpbb_user($op, &$edit, &$user, $category = NULL) {
  global $phpbbcfg;
  
  switch ($op) {
    case 'insert':
      _phpbb_user_insert($edit, $$user);
    break;
  
    case 'update':
      _phpbb_user_update($edit, $user);
    break;

    case 'delete':
      _phpbb_ban_user($user);
      drupal_set_message('The user has been banned in phpBB, you can delete him through phpBB\'s ACP.', 'warning');
    break;
	
    case 'login':
      _phpbb_user_login($edit, $user);
    break;
    
    case 'logout':
      // Destroys the sessions in phpBBs database and unsets the cookies.
      _phpbb_session_destroy($user, true);
      _phpbb_unset_cookies($user);
    break;
  
    case 'view':
      return _phpbb_user_view($user);
    break;
 } 
}

Maar ik heb ook een vraagje: sinds drupal 6 is er geen sequence table meer voor de UID maar deze wordt nu dmv een auto_increment geupdate maar phpbb3 heeft standaard de eerste 50 gebruikers als zoek robot staan dus die mogen elkaar niet overlappen wat nu wel dus gebeurd..,hoe kan ik bvb oplossen dat hij pas bij UDI 1000 begint te inserten...

dit moest ik voor drupal 5 doen:
Tweak Drupal's user sequence
phpBB creates users for the different search engines. Their user id will overlap with users in Drupal, so we need to make sure Drupal does not overwrite them.

Tweak Drupal's user sequence
phpBB creates users for the different search engines. Their user id will overlap with users in Drupal, so we need to make sure Drupal does not overwrite them.

Use something like phpMyAdmin to look at the table "drupal_sequences", update the row with name "drupal_users_uid" to have id = 1000:
PHP:
UPDATE `databasename`.`drupal_sequences` SET `id` = '1000' WHERE `drupal_sequences`.`name` = 'drupal_users_uid' LIMIT 1 ;

ik hoop dat iemand mij kan volgen :unsure:

demon326

Legacy Member
Tyfius zei:
Op lijn 25 heb je $$user in plaats van $user staan.

lol..,dan is er enkel nog het laaste probleem met de user ID...

had het 2de $ niet zien staan :)

JensDT42

Legacy Member
Als ik uw vraag goed begrijp, deze query es runnen:

PHP:
$query = "ALTER TABLE ***gebruikerstabel*** AUTO_INCREMENT = 1000;";

Maar ik ken niets van de interne werking van Drupal, dus 't is onder voorbehoud ;)

demon326

Legacy Member
JensDT42 zei:
Als ik uw vraag goed begrijp, deze query es runnen:

PHP:
$query = "ALTER TABLE ***gebruikerstabel*** AUTO_INCREMENT = 1000;";

Maar ik ken niets van de interne werking van Drupal, dus 't is onder voorbehoud ;)

ik had het net ergens anders gevonden, maar dat werkte dus :), nu hoop ik dat de module author de code gebruikt :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan