/** * UpdateList * Updates list information for a particular subscriber. Checks whether a list exists or not first before updating information. It updates the format, confirm status, confirm code, confirm date. * * @param Int $subscriberid Subscriber to update. * @param Int $listid List to update their information on. * * @see confirmed * @see format * @see GenerateConfirmCode * @see Lists_API * @see Lists_API::Find * * @return Boolean Returns true if it worked, false if the list doesn't exist or if it didn't work. */ function UpdateList($subscriberid=0, $listid=0) { $subscriberid = (int)$subscriberid; $listid = (int)$listid; if ($subscriberid <= 0 || !$listid) { return false; } require_once(dirname(__FILE__) . '/lists.php'); $list = new Lists_API(); $real_listid = $list->Find($listid); if ($real_listid['listid'] <= 0) { return false; } if ($this->confirmed == '0') { $this->confirmdate = 0; } elseif ($this->confirmdate == 0) { $this->confirmdate = $this->GetServerTime(); } $query = "UPDATE " . SENDSTUDIO_TABLEPREFIX . "list_subscribers SET format='" . $this->Db->Quote($this->format) . "', confirmed='" . $this->Db->Quote((int)$this->confirmed) . "', confirmdate='" . $this->Db->Quote($this->confirmdate) . "', confirmip = '" . $this->Db->Quote($this->confirmip) . "', requestip = '" . $this->Db->Quote($this->requestip) . "'"; if ((int)$this->subscribedate > 0) { $query .= ", subscribedate='" . $this->Db->Quote($this->subscribedate) . "'"; } $query .= " WHERE listid=" . intval($listid) . " AND subscriberid=" . intval($subscriberid); $result = $this->Db->Query($query); return $result; }