Re: Sui PM

Inviato da  javaseth il 4/5/2007 0:33:06
Citazione:
In tal senso il peggior contributo che uno può dare è occupare il tempo degli altri senza mai occupare il proprio, tanto più quando vengono poste - non mi riferisco all'autore di questo thread, sia chiaro - domande o spesso peggio speculazioni che potrebbero essere risolte privatamente o con un pò di buon senso


Non so perchè, ma mi fischiano le orecchie

Comunque, se ti riferisci a me, le mie erano forse speculazioni, e neanche tanto, ma non erano accuse, mi pare.


Citazione:

e dando quella fiducia che ci si dovrebbe accordare a vicenda (e che non mi risulta sia mai stata tradita).


Bene, stiamo alla fiducia allora.
Tu dici..

Citazione:

Per farlo bisogna conoscere la struttura del database e soprattutto avere molto tempo da perdere in select varie per filtrare i dati tra l'immane mole presente in LC, detto in altre parole bisogna avere tempo e voglia.


Scarichiamoci l'ultimo xoops 2.0.16 (non credo che le tabelle cambino spesso):
http://www.xoops.org/modules/core/
apriamo lo zip
apriamo il file mysql.structure.sql

Cerchiamo tra le tabelle (una trentina) ed ecco la tabella priv_msgs (private message)

#
# Table structure for table `priv_msgs`
#

CREATE TABLE priv_msgs (
msg_id mediumint(8) unsigned NOT NULL auto_increment,
msg_image varchar(100) default NULL,
subject varchar(255) NOT NULL default '',
from_userid mediumint(8) unsigned NOT NULL default '0',
to_userid mediumint(8) unsigned NOT NULL default '0',
msg_time int(10) unsigned NOT NULL default '0',
msg_text text NOT NULL,
read_msg tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (msg_id),
KEY to_userid (to_userid),
KEY touseridreadmsg (to_userid,read_msg),
KEY msgidfromuserid (msg_id,from_userid)
) TYPE=MyISAM;


Ci colleghiamo al db:
mysql -u nume_utente -p password

>use nome_db;

quindi, vediamo i messaggi privati di javaseth

SELECT msg_text FROM priv_msgs where from_userid ='javaseth';

magari solo quelli che ho spedito a goldstein

SELECT msg_text FROM priv_msgs where from_userid ='javaseth' AND to_userid='goldstein' ;

magari quelli dove magari parlo male di Pike con qualcun'altro:

SELECT msg_text FROM priv_msgs where from_userid ='javaseth' AND to_userid !='PikeBishop' AND msg_text LIKE '%Pike%' ;

Insomma, a me è questo mi sta sulle balle, che prima uno ti fa la menata sulla fiducia, poi ti dice cazzate per non far sapere la verità alla gente, magari perchè non capirebbe.

Mi sembra un atteggiamento molto simile a quello dei tipi che vorremmo smascherare.

E non ce l'ho con te Dusty, per carità, io ci metto la mano sul fuoco su te e sulla redazione di LC.

Ma le cazzate sono cazzate, e la verità è la verità.

E, a proposito, ho scaricato i sorgenti proprio per non lasciare il thread con speculazioni che avrebbero potuto generare malintesi o domande sospese, e sono andato a vedere come viene cancellato il record di un messaggio.

Dal file privmessage.php:

/**
* Delete from the database
* @param object $pm {@link XoopsPrivmessage} object
* @return bool
**/
function delete(&$pm)
{
if (strtolower(get_class($pm)) != 'xoopsprivmessage') {
return false;
}
if (!$result = $this->db->query(sprintf("DELETE FROM %s WHERE msg_id = %u", $this->db->prefix('priv_msgs'), $pm->getVar('msg_id')))) {
return false;
}
return true;
}

Cancellazione fisica, messaggio FISICAMENTE eliminato dal db.

Ciao
-javaseth

P.S. Pike, non ho mai parlato male di te con nessuno, giuro! Se non ci credi, chiedilo a Dusty

Messaggio orinale: https://old.luogocomune.net/site/newbb/viewtopic.php?forum=19&topic_id=3410&post_id=88826