/** * Allow to add criterias to internal WHERE * * @param string|array $criteria token list or string that have the external criterias * @return string complete criterias * @private */ function external_criteria($criteria) { if (!is_array($this->external_criteria_value)) { return $criteria . ($this->external_criteria_value ? ' ' . $this->external_criteria_value : ''); } else { $this->external_criteria_value[1] = $criteria; return phpgwapi_sql_criteria::criteria($this->external_criteria_value); } }
/** * Create an update query for this entity * * @param Array $data Fields that want change value and their values * @param Array $criteria With criterias that set the rows to edit * @param integer action * @return string SQL update string */ function update($data, $criteria, $action = PHPGW_SQL_RETURN_SQL) { if (is_array($data) && count($data) > 0) { array_walk($data, array(&$this, 'add_update')); } else { list($field, $value) = explode('=', $data); $this->add_update($field, $value); } if (is_string($criteria)) { $this->set_criteria($criteria); } else { $this->set_criteria(phpgwapi_sql_criteria::criteria($criteria)); } if (!empty($this->values)) { switch ($action) { case PHPGW_SQL_RETURN_RECORDS: case PHPGW_SQL_RUN_SQL: $sql = $this->return_update(); $GLOBALS['phpgw']->db->query($sql, __LINE__, __FILE__); $this->ldebug('update', $sql, 'msg'); return; case PHPGW_SQL_RETURN_SQL: return $this->return_update(); } } }