Pagina 1 van 1

PB lezen en verwijderen

Geplaatst: 18 aug 2006, 11:00
door Navacia
Goede morgen

Een forum wordt niet als forum gebruikt, maar als een soort van fotoalbum.
De mensen kunnen er wel lid worden en dan in een topic vragen om dat bestand van die foto.
Die willen wij dan, via een pb doorsturen.

Nu komt het:
Als je op een gewoon forum de pb die je verstuurd heb verwijderd, gaat hij niet bij die andere weg.
Maar het is wel de bedoeling.
Dus als de admin dat bestand geeft via een pb aan een lid, dat de admin die pb daarna gewoon kan verwijderen en die ook dan bij dat lid weg is.

Hoe los ik dat op?
Wie kan mij even opweg helpen?

Geplaatst: 22 aug 2006, 20:41
door Luuk
Als het goed is moet dit werken, alleen admins kunnen bepalen of ze de mail van de andere ook wegdoen (werkt ook bij ontvangen berichten):
Open privmsg.php
Zoek

Code: Selecteer alles

		//
		// Output confirmation page
		//
Zet ervoor

Code: Selecteer alles

		$admin_delete = '';
		if ( $userdata['user_level'] == ADMIN )
		{
		    $admin_delete = '<br /><br />' . $lang['Admin_delete_sent_pm'] . '<br /><b>' . $lang['Yes'] . ':</b><input type="radio" name="delete_receiver" value="1" />&nbsp;<b>' . $lang['No'] . ':</b><input type="radio" name="delete_receiver" value="0" checked="checked" />';
		}
Zoek

Code: Selecteer alles

'MESSAGE_TEXT' => ( count($mark_list) == 1 ) ? $lang['Confirm_delete_pm'] : $lang['Confirm_delete_pms'],
Vervang met

Code: Selecteer alles

'MESSAGE_TEXT' => ( ( count($mark_list) == 1 ) ? $lang['Confirm_delete_pm'] : $lang['Confirm_delete_pms'] ) . $admin_delete,
Zoek

Code: Selecteer alles

// Delete the messages
Zet ervoor

Code: Selecteer alles

			if ( isset($HTTP_POST_VARS['delete_receiver']) && $HTTP_POST_VARS['delete_receiver'] )
		    {
				$sql = "SELECT *
	        		FROM " . PRIVMSGS_TABLE . "
			        WHERE privmsgs_id IN ($delete_sql_id)";
        		if ( !($result = $db->sql_query($sql)) )
		        {
        			message_die(GENERAL_ERROR, 'Could not obtain id list to delete messages', '', __LINE__, __FILE__, $sql);
        		}
				
				$list = array();
	        	while ( $row = $db->sql_fetchrow($result) )
        		{
        			$list[] = $row;
				}
				
				$new_delete_sql_id = '';
				for($k = 0; ($k < count($list)); $k++)
				{
					$sql = "SELECT privmsgs_id
	        		    FROM " . PRIVMSGS_TABLE . "
			            WHERE privmsgs_subject = '" . $list[$k]['privmsgs_subject'] . "'
						  AND privmsgs_from_userid = " . $list[$k]['privmsgs_from_userid'] . "
						  AND privmsgs_to_userid = " . $list[$k]['privmsgs_to_userid'] . "
						  AND privmsgs_date = '" . $list[$k]['privmsgs_date'] . "'
						  AND privmsgs_id != " . $list[$k]['privmsgs_id'];
        		    if ( !($result = $db->sql_query($sql)) )
		            {
        			    message_die(GENERAL_ERROR, 'Could not obtain id list to delete messages', '', __LINE__, __FILE__, $sql);
        		    }
					$new_delete_sql_id[] = $db->sql_fetchrow($result);
        		}				
				
				$other_delete_sql = '';
				for ($i = 0; $i < count($new_delete_sql_id); $i++)
			    {
			    	$other_delete_sql .= (($other_delete_sql != '') ? ', ' : '') . intval($new_delete_sql_id[$i]['privmsgs_id']);
			    }
				$delete_text_sql = "DELETE FROM " . PRIVMSGS_TEXT_TABLE . "
				    WHERE privmsgs_text_id IN ($other_delete_sql)";
				$delete_sql = "DELETE FROM " . PRIVMSGS_TABLE . "
				    WHERE privmsgs_id IN ($other_delete_sql)";
				if ( !$db->sql_query($delete_sql, BEGIN_TRANSACTION) )
			    {
    				message_die(GENERAL_ERROR, 'Could not delete private message info', '', __LINE__, __FILE__, $delete_sql);
    			}

    			if ( !$db->sql_query($delete_text_sql, END_TRANSACTION) )
    			{
    				message_die(GENERAL_ERROR, 'Could not delete private message text', '', __LINE__, __FILE__, $delete_text_sql);
    			}
		    }
Open languages/lang_english/lang_main.php (ook voor andere talen aanpassen!!) en zoek

Code: Selecteer alles

$lang['Confirm_delete_pms'] = 'Are you sure you want to delete these messages?';
Zet erachter

Code: Selecteer alles

$lang['Admin_delete_sent_pm'] = 'Do you want to delete the receiver\'s PM?';
:thumb:

Geplaatst: 22 aug 2006, 21:56
door Navacia
Tof een antwoord, bedankt ik ga het morgen ochtend meteen uit proberen.
Heel erg blij ben ik hiermee. :thumb:

Geplaatst: 23 aug 2006, 17:36
door Babbler
Luuk schreef:Als het goed is moet dit werken, alleen admins kunnen bepalen of ze de mail van de andere ook wegdoen (werkt ook bij ontvangen berichten):

Ik heb dit zonet ook even geinstaleerd ....Maar waar kan ik dit regelen als de PB's verdwijnen ...In het Administratiepaneel....of elders op het forum

Geplaatst: 23 aug 2006, 17:41
door Luuk
Als je het verwijdert komt er normaal een scherm met Weet u het zeker? Daar kun je het aangeven :bier:

Geplaatst: 23 aug 2006, 17:46
door Babbler
Luuk schreef:Als je het verwijdert komt er normaal een scherm met Weet u het zeker? Daar kun je het aangeven :bier:
Ja een beetje verkeerd gelezen ....inderdaad het gaat om, Als ik het verwijder het ook bij een ander is verwijderd, maar dan gaat het uiteindelijk om mijn eigen pb's die ik vertsuurd heb, heb dus jammer genoeg niet het recht om een ander zijn haar pb's op te ruimen ...hahahaha...ik bedoelde uiteindelijk dat ik daar even kon rondneuzen heveel pb's er van een ander zijn en dat ik dan bepaal of ze weg mogen of niet ....maar daar gaat het ook niet om :wink:

Geplaatst: 23 aug 2006, 22:00
door Luuk
Dat gaat wel wat je wil, daar bestaat een mod voor. Ik dacht de manage PM mod, iets met die naam.
Let wel op dat je dan een deel van de privacy van de gebruikers schendt, je leest immers prive berichten.

Geplaatst: 23 aug 2006, 22:09
door Raimon
Luuk schreef:Dat gaat wel wat je wil, daar bestaat een mod voor. Ik dacht de manage PM mod, iets met die naam.
Let wel op dat je dan een deel van de privacy van de gebruikers schendt, je leest immers prive berichten.
Die mod vindt je hier :arrow: http://www.phpbb.nl/viewtopic.php?t=31249 :wink:

Geplaatst: 24 aug 2006, 10:57
door Navacia
Oke voor mijn eisen op het forum, wil ik Luuk heel vriendelijk bedanken je bent een kanjer. :thumb:

Bedankt :wink: