Pagina 1 van 1

Topictitel aanpassen?

Geplaatst: 03 feb 2009, 22:34
door ook hier
  • Adres van je forum: http://www.bodemvondstenwereld.nl
    Event. modificaties op je forum:
    Wanneer ontstond het probleem?
    phpBB versie: 3.0.4

    Heb je onlangs iets veranderd aan je forum?
    Wat is het probleem?
..
Er zijn bij ons al een aantal accounts verwijderd inmiddels. Voor geplaatste berichten waar een determinatie is wordt de titel aangepast. Als een topic is gestart door iemand die inmiddels is verwijderd kunnen we de topictitel niet meer aanpassen. Is hier een truc voor??

Re: Topictitel aanpassen?

Geplaatst: 04 feb 2009, 07:10
door Jim
Ik heb het niet getest maar kan je niet gewoon het bericht aanpassen van de persoon die nu het eerste bericht heeft?

Re: Topictitel aanpassen?

Geplaatst: 04 feb 2009, 19:38
door ook hier
Hoi Jim,

Ja normaal gezien wijzig ik op die manier een topictitel, werkt altijd prima...... Behalve als die eerste post is geplaatst door iemand waarvan het account inmiddels is gedeactiveerd. Nu heb ik geprobeerd dit op te lossen door de eerste post te koppelen aan een account wat nog wel actief is. maar dannog mag ik de topictitel niet aanpassen.

foutmelding:

Je beschikt niet over de nodige permissies om dit bestand te openen.

terwijl ik die permissies wel heb als degene die de eerste post heeft geplaatst nog wel in de ledenlijst bekend is.

:roll: Heel verhaal, maar ik hoop dat het zo wel duidelijk is....

Re: Topictitel aanpassen?

Geplaatst: 04 feb 2009, 21:41
door ook hier
en sorry ik heb jouw bericht niet goed gelezen. Als mensen op ons forum worden verwijderd laten we hun berichten staan, dit om reden dat als er posts verdwijnen tussen een thread het verhaal niet meer klopt.

De post staat er dus nog en staat ook nog op de naam van de oorspronkelijke poster. alleen bestaat die poster niet meer in de ledenlijst!

Re: Topictitel aanpassen?

Geplaatst: 05 feb 2009, 00:19
door Mid
Voortaan eerst de topictitel aanpassen en dan pas de gebruiker verwijderen, kan een oplossing zijn. Of het account overnemen...

Re: Topictitel aanpassen?

Geplaatst: 05 feb 2009, 18:09
door ook hier
Het account overnemen??
Hoe doe ik dat?

Re: Topictitel aanpassen?

Geplaatst: 05 feb 2009, 19:13
door Mid
Het emailadres van de te verwijderen persoon overzetten naar een eigen emailadres en het wachtwoord aanpassen naar een eigen wachtwoord.

Re: Topictitel aanpassen?

Geplaatst: 10 feb 2009, 22:39
door ook hier
dus kan ik dan ook bijvoorbeeld een account "gast" maken en iedereen die wordt gekickt onder die account schuiven??

Re: Topictitel aanpassen?

Geplaatst: 11 feb 2009, 00:28
door Mid
Gast bestaat al als guest, dus daar kun je beter niets mee doen. Logé zou een alternatief kunnen zijn. :D

Je kunt per gekickte de accountnaam aanpassen en die zelf overnemen; samenvoegen zou kunnen door de auteur van de berichten op 1 naam te zetten en dan het berichtloze account te verwijderen.

Re: Topictitel aanpassen?

Geplaatst: 11 feb 2009, 11:09
door marian0810
Dan heb je hier misschien ook wel wat aan, dit scriptje voegt twee accounts in een keer samen. Een poosje geleden heb ik dit van phpbb.com geplukt, ik kan even niet linken want de searchfunctie doet het daar nog niet.
Let op: ik vergiste me de eerste keer (gelukkig met een testje) door per ongeluk het nummer van de ledenlijst te nemen maar dat is dus niet hetzelfde als de user_id die je moet hebben :roll: Je moet dus die 133 en die 9 veranderen in de user_id's van jouw gebruikers.
$old_user is degene die verdwijnt en $new_user krijgt alle berichten op zijn naam. Dit kan niet meer ongedaan gemaakt worden!

Code: Selecteer alles

<?php
define('DEBUG', true);
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

$old_user = 133;
$new_user = 9;

user_merge($old_user, $new_user);

trigger_error('Wheee done :P');

/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2007 eviL3
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
 * Merge two user accounts into one
 *
 * @author eviL3
 * @param int $old_user User id of the old user
 * @param int $new_user User id of the new user
 */
function user_merge($old_user, $new_user)
{
	global $user, $db;
	global $phpbb_root_path, $phpEx;

	if (!function_exists('user_add'))
	{
		include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
	}

	$old_user = (int) $old_user;
	$new_user = (int) $new_user;

	// get both users userdata
	$data = array();
	foreach (array($old_user, $new_user) as $key)
	{
		$sql = 'SELECT user_id, username, user_colour
			FROM ' . USERS_TABLE . '
				WHERE user_id = ' . $key;
		$result = $db->sql_query($sql);
		$data[$key] = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
	}

	$update_ary = array(
		ATTACHMENTS_TABLE		=> array('poster_id'),
		FORUMS_TABLE			=> array(array('forum_last_poster_id', 'forum_last_poster_name', 'forum_last_poster_colour')),
		LOG_TABLE				=> array('user_id', 'reportee_id'),
		MODERATOR_CACHE_TABLE	=> array(array('user_id', 'username')),
		POSTS_TABLE				=> array(array('poster_id', 'post_username'), 'post_edit_user'),
		POLL_VOTES_TABLE		=> array('vote_user_id'),
		PRIVMSGS_TABLE			=> array('author_id', 'message_edit_user'),
		PRIVMSGS_TO_TABLE		=> array('user_id', 'author_id'),
		REPORTS_TABLE			=> array('user_id'),
		TOPICS_TABLE			=> array(array('topic_poster', 'topic_first_poster_name', 'topic_first_poster_colour'), array('topic_last_poster_id', 'topic_last_poster_name', 'topic_last_poster_colour')),
	);

	foreach ($update_ary as $table => $field_ary)
	{
		foreach ($field_ary as $field)
		{
			$sql_ary = array();

			if (!is_array($field))
			{
				$field = array($field);
			}

			$sql_ary[$field[0]] = $new_user;

			if (!empty($field[1]))
			{
				$sql_ary[$field[1]] = $data[$new_user]['username'];
			}

			if (!empty($field[2]))
			{
				$sql_ary[$field[2]] = $data[$new_user]['user_colour'];
			}

			$primary_field = $field[0];

			$sql = "UPDATE $table SET " . $db->sql_build_array('UPDATE', $sql_ary) . "
				WHERE $primary_field = $old_user";
			$db->sql_query($sql);
		}
	}

	user_delete('remove', $old_user);
}

?>
Je moet dit in dezelfde map zetten als je config.php en dan naar toe gaan met je browser. Daarna weer verwijderen.

Re: Topictitel aanpassen?

Geplaatst: 16 feb 2009, 22:08
door ook hier
Hoi Marian,

en dank voor je reactie! Hoe gebruik ik die code die jij daar neerzet dan?

Ik begrijp dat het dus handig is voor iedereen die gekickt wordt een andere account aan te maken en posts over te laten nemen (waarvoor ik dan die code kan gebruiken).
Zodat de berichten op naam van de nieuwe aangemaakte account staan.
Dan moet het wel mogelijk zijn de titels aan te passen??

Re: Topictitel aanpassen?

Geplaatst: 16 feb 2009, 22:45
door marian0810
ook hier schreef:Hoe gebruik ik die code die jij daar neerzet dan?
- Je zet de tekst in een tekstbestandje en noemt dat user_merge.php
- In deze regels

Code: Selecteer alles

$old_user = 133;
$new_user = 9;
verander je de getallen in de juiste user_id (=het nummer wat je linksonderin je balk ziet als je over een naam gaat met je muis). In dit geval zal de user met id 133 verdwijnen en krijgt user met id 9 al zijn berichten.

- je upload het bestand naar je root
- je gaat er naar toe met je browser, in jouw geval is dat dus http://www.bodemvondstenwereld.nl/user_merge.php

- daarna het bestand weer verwijderen uit je root
Dan moet het wel mogelijk zijn de titels aan te passen??
Ja als de berichten bij een bestaande account horen kunnen ze gewoon aangepast worden.

Heb het topic ook weer gevonden :D
http://www.phpbb.com/community/viewtopi ... 2&t=561223

Re: Topictitel aanpassen?

Geplaatst: 17 feb 2009, 20:14
door ook hier
Dank je wel voor het antwoord, op het moment dat er weer eentje moet worden gekicked zal ik deze topic nogmaals bezoeken.