Browse Source

- Add a new action in RosterLinkDAO to save the full roster in one big request

pull/16/head
Jaussoin Timothée 12 years ago
parent
commit
739842a39b
  1. 20
      app/models/contact/Contact.php
  2. 58
      app/models/rosterlink/RosterLinkDAO.php

20
app/models/contact/Contact.php

@ -197,17 +197,17 @@ class Contact extends Model {
else
$jid = $this->jid;
$sizes = array(
'l' => 200,
'm' => 120,
's' => 50,
'xs' => 28,
'xxs' => 24
);
$p = new \Picture;
if(isset($jid)) {
$sizes = array(
'l' => 200,
'm' => 120,
's' => 50,
'xs' => 28,
'xxs' => 24
);
$p = new \Picture;
if($p->get($jid, $sizes[$size])) {
return $p->get($jid, $sizes[$size]);
} else {

58
app/models/rosterlink/RosterLinkDAO.php

@ -43,6 +43,64 @@ class RosterLinkDAO extends SQL {
return $this->run('RosterLink');
}
function setList($arr) {
$this->_sql = '
insert into rosterlink
(
session,
jid,
rostername,
rosterask,
rostersubscription,
realname,
groupname,
chaton)
values
';
$i = 0;
$params = array();
foreach($arr as $r) {
$this->_sql .= "
(
:session_$i,
:jid_$i,
:rostername_$i,
:rosterask_$i,
:rostersubscription_$i,
:realname_$i,
:groupname_$i,
:chaton_$i
),";
$params = array_merge(
$params,
array(
"session_$i" => $this->_user,
"jid_$i" => $r->jid,
"rostername_$i" => $r->rostername,
"rosterask_$i" => $r->rosterask,
"rostersubscription_$i" => $r->rostersubscription,
"realname_$i" => $r->realname,
"groupname_$i" => $r->groupname,
"chaton_$i" => $r->chaton
)
);
$i++;
}
$this->_sql = substr($this->_sql, 0, -1);
$this->prepare(
'RosterLink',
$params
);
return $this->run('RosterLink');
}
function update(RosterLink $r) {
$this->_sql = '
update rosterlink

Loading…
Cancel
Save