function select($where = "", $group_by = "", $order_by = "", $limit = "") { global $client; if ($where != "") { $where = $where . " AND idclient = '" . Contenido_Security::escapeDB($client, NULL) . "'"; } return parent::select($where, $group_by, $order_by, $limit); }
function testForProjectIdReturnsCollectionOfItems() { $http_response = dummyObject(['status' => '200', 'body' => '{"data":[{"id":2,"name":"Item","overdue":false,"parent_id":1,"position":0,"project_id":2,"template_id":3}]}']); $request = $this->getMockBuilder('\\Test\\Request')->getMock(); $request->method('get')->with($this->equalTo('items'), $this->equalTo(['project_id' => '2']))->willReturn(new \GatherContent\Response($http_response)); $subject = new ItemCollection($request); $items = $subject->forProjectId('2'); $this->assertCount(1, $items); $item = $items[0]; $this->assertInstanceOf('\\GatherContent\\Model\\Item', $item); $this->assertSame(2, $item->id); $this->assertSame(1, $item->parent_id); $this->assertSame(0, $item->position); $this->assertSame(2, $item->project_id); $this->assertSame(3, $item->template_id); $this->assertEquals('Item', $item->name); $this->assertFalse($item->overdue); }
function create($idartlang) { global $cfg; $sql = "SELECT idartlang FROM " . $cfg["tab"]["art_lang"] . " WHERE idartlang = '" . Contenido_Security::escapeDB($idartlang, $this->db) . "'"; $this->db->query($sql); if (!$this->db->next_record()) { $this->lasterror = i18n("Article doesn't exist", "workflow"); return false; } $this->select("idartlang = '{$idartlang}'"); if ($this->next() !== false) { $this->lasterror = i18n("Article is already assigned to a usersequence step.", "workflow"); return false; } $newitem = parent::create(); $newitem->setField("idartlang", $idartlang); $newitem->store(); return $newitem; }
/** * Overridden delete method to remove job details (logs) from newsletter logs table * before deleting newsletter job * * @param $iItemID int specifies the frontend user group */ public function delete($iItemID) { $oLogs = new cNewsletterLogCollection(); $oLogs->delete($iItemID); parent::delete($iItemID); }
/** * Overriden delete function to update recipient count if removing recipient from the list * @param integer $idnewslog ID */ public function delete($idnewslog) { $idnewslog = Contenido_Security::toInteger($idnewslog); $oLog = new cNewsletterLog($idnewslog); $iIDNewsJob = $oLog->get("idnewsjob"); unset($oLog); $oJob = new cNewsletterJob($iIDNewsJob); $oJob->set("rcpcount", $oJob->get("rcpcount") - 1); $oJob->store(); unset($oJob); parent::delete($idnewslog); }
function select($where = "", $group_by = "", $order_by = "", $limit = "") { global $client; return parent::select($where, $group_by, $order_by, $limit); }
/** * Duplicates the newsletter specified by $itemID * @param $itemID integer specifies the newsletter id */ public function duplicate($iItemID) { global $client, $lang, $auth; $client = Contenido_Security::toInteger($client); $lang = Contenido_Security::toInteger($lang); cInclude("includes", "functions.con.php"); $oBaseItem = new Newsletter(); $oBaseItem->loadByPrimaryKey($iItemID); $oItem = parent::create(); $oItem->set("name", $oBaseItem->get("name") . "_" . substr(md5(rand()), 0, 10)); $iIDArt = 0; if ($oBaseItem->get("type") == "html" && $oBaseItem->get("idart") > 0 && $oBaseItem->get("template_idart") > 0) { $oClientLang = new cApiClientLanguage(false, $client, $lang); if ($oClientLang->getProperty("newsletter", "html_newsletter") == "true") { $iIDArt = conCopyArticle($oBaseItem->get("idart"), $oClientLang->getProperty("newsletter", "html_newsletter_idcat"), sprintf(i18n("Newsletter: %s", $plugin_name), $oItem->get("name"))); conMakeOnline($iIDArt, $lang); // Article has to be online for sending... } unset($oClientLang); } $oItem->set("idart", $iIDArt); $oItem->set("template_idart", $oBaseItem->get("template_idart")); $oItem->set("idclient", $client); $oItem->set("idlang", $lang); $oItem->set("welcome", 0); $oItem->set("type", $oBaseItem->get("type")); $oItem->set("subject", $oBaseItem->get("subject")); $oItem->set("message", $oBaseItem->get("message")); $oItem->set("newsfrom", $oBaseItem->get("newsfrom")); $oItem->set("newsfromname", $oBaseItem->get("newsfromname")); $oItem->set("newsdate", date("Y-m-d H:i:s"), false); // But more or less deprecated $oItem->set("use_cronjob", $oBaseItem->get("use_cronjob")); $oItem->set("send_to", $oBaseItem->get("send_to")); $oItem->set("send_ids", $oBaseItem->get("send_ids")); $oItem->set("dispatch", $oBaseItem->get("dispatch")); $oItem->set("dispatch_count", $oBaseItem->get("dispatch_count")); $oItem->set("dispatch_delay", $oBaseItem->get("dispatch_delay")); $oItem->set("author", $auth->auth["uid"]); $oItem->set("created", date("Y-m-d H:i:s"), false); // Copy properties, runtime on-demand allocation of the properties object if (!is_object($this->properties)) { $this->properties = new PropertyCollection(); } $this->properties->setWhere("idclient", $client); $this->properties->setWhere("itemtype", $this->primaryKey); $this->properties->setWhere("itemid", $iItemID); $this->properties->query(); while ($oPropertyItem = $this->properties->next()) { $oItem->setProperty($oPropertyItem->get("type"), $oPropertyItem->get("name"), $oPropertyItem->get("value")); } $oItem->store(); return $oItem; }
/** * Deletes all corresponding informations to this workflow and delegate call to parent * @param integer $idWorkflow - id of workflow to delete */ function delete($idWorkflow) { global $cfg; $oDb = new DB_Contenido(); $aItemIdsDelete = array(); $sSql = 'SELECT idworkflowitem FROM ' . $cfg["tab"]["workflow_items"] . ' WHERE idworkflow = ' . Contenido_Security::toInteger($idWorkflow) . ';'; $oDb->query($sSql); while ($oDb->next_record()) { array_push($aItemIdsDelete, Contenido_Security::escapeDB($oDb->f('idworkflowitem'), $oDb)); } $aUserSequencesDelete = array(); $sSql = 'SELECT idusersequence FROM ' . $cfg["tab"]["workflow_user_sequences"] . ' WHERE idworkflowitem in (' . implode(',', $aItemIdsDelete) . ');'; $oDb->query($sSql); while ($oDb->next_record()) { array_push($aUserSequencesDelete, Contenido_Security::escapeDB($oDb->f('idusersequence'), $oDb)); } $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_user_sequences"] . ' WHERE idworkflowitem in (' . implode(',', $aItemIdsDelete) . ');'; $oDb->query($sSql); $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_actions"] . ' WHERE idworkflowitem in (' . implode(',', $aItemIdsDelete) . ');'; $oDb->query($sSql); $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_items"] . ' WHERE idworkflow = ' . Contenido_Security::toInteger($idWorkflow) . ';'; $oDb->query($sSql); $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_allocation"] . ' WHERE idworkflow = ' . Contenido_Security::toInteger($idWorkflow) . ';'; $oDb->query($sSql); $sSql = 'DELETE FROM ' . $cfg["tab"]["workflow_art_allocation"] . ' WHERE idusersequence in (' . implode(',', $aUserSequencesDelete) . ');'; $oDb->query($sSql); parent::delete($idWorkflow); }
/** * Create a new group from a mixed data set * * @param array $data Data set * @return ItemCollection */ public static function create($data) { $group = new ItemCollection(); return $group->add($data); }
/** * Creates a new association * @param $idrecipientgroup int specifies the newsletter group * @param $idrecipient int specifies the newsletter user */ public function create($idrecipientgroup, $idrecipient) { $idrecipientgroup = Contenido_Security::toInteger($idrecipientgroup); $idrecipient = Contenido_Security::toInteger($idrecipient); $this->setWhere("idnewsgroup", $idrecipientgroup); $this->setWhere("idnewsrcp", $idrecipient); $this->query(); if ($this->next()) { return false; } $oItem = parent::create(); $oItem->set("idnewsrcp", $idrecipient); $oItem->set("idnewsgroup", $idrecipientgroup); $oItem->store(); return $oItem; }
function create($idworkflow, $idcatlang) { $this->select("idcatlang = '{$idcatlang}'"); if ($this->next() !== false) { $this->lasterror = i18n("Category already has a workflow assigned", "workflow"); return false; } $workflows = new Workflows(); $workflows->select("idworkflow = '{$idworkflow}'"); if ($workflows->next() === false) { $this->lasterror = i18n("Workflow doesn't exist", "workflow"); return false; } $newitem = parent::create(); if (!$newitem->setWorkflow($idworkflow)) { $this->lasterror = $newitem->lasterror; $workflows->delete($newitem->getField("idallocation")); return false; } if (!$newitem->setCatLang($idcatlang)) { $this->lasterror = $newitem->lasterror; $workflows->delete($newitem->getField("idallocation")); return false; } $newitem->store(); return $newitem; }
function create($idworkflow) { $workflows = new Workflows(); $workflows->select("idworkflow = '{$idworkflow}'"); if ($workflows->next() === false) { $this->lasterror = i18n("Can't add item to workflow: Workflow doesn't exist", "workflow"); return false; } $this->select("idworkflow = '{$idworkflow}'", "", "position DESC", "1"); $item = $this->next(); if ($item === false) { $lastPos = 1; } else { $lastPos = $item->getField("position") + 1; } $newItem = parent::create(); if ($newItem->init($idworkflow, $lastPos) === false) { $this->delete($newItem->getField("idworkflowitem")); $this->lasterror = $newItem->lasterror; return false; } if ($item === false) { $this->updateArtAllocation(0); } return $newItem; }
/** * Overridden delete method to remove recipient from groupmember table * before deleting recipient * * @param $itemID int specifies the recipient */ public function delete($itemID) { $oAssociations = new RecipientGroupMemberCollection(); $oAssociations->setWhere("idnewsrcp", $itemID); $oAssociations->query(); while ($oItem = $oAssociations->next()) { $oAssociations->delete($oItem->get("idnewsgroupmember")); } parent::delete($itemID); }