$v->delete(); } } if ('count' == $action) { $sql = "SELECT count(v.id) from defined_value v, attribute a\n\t\tWHERE v.attribute_id = a.id \n\t\tAND\ta.collection_id = {$c->id}\n\t\t"; $sth = $dbh->prepare($sql); $sth->execute(); $count = $sth->fetchColumn(); print "defined: {$count}\n"; } elseif ('delete' == $action) { print "defined values\n"; $sql = "SELECT v.id from defined_value v, attribute a\n\t\tWHERE v.attribute_id = a.id \n\t\tAND\ta.collection_id = {$c->id}\n\t\t"; $sth = $dbh->prepare($sql); $sth->execute(); while ($id = $sth->fetchColumn()) { $defined = new Dase_DBO_DefinedValue($db); if ($defined->load($id)) { $defined->delete(); print "deleted defined value\n"; } } } if ('count' == $action) { $sql = "SELECT count(id) from attribute a\n\t\tWHERE a.collection_id = {$c->id}\n\t\t"; $sth = $dbh->prepare($sql); $sth->execute(); $count = $sth->fetchColumn(); print "attributes: {$count}\n"; } elseif ('delete' == $action) { print "attributes\n"; $sql = "DELETE from attribute \n\t\tWHERE collection_id = {$c->id}\n\t\t";
public function putAttributeDefinedValues($r) { $att = Dase_DBO_Attribute::get($this->db, $this->collection->ascii_id, $r->get('att_ascii_id')); $def_values = new Dase_DBO_DefinedValue($this->db); $def_values->attribute_id = $att->id; foreach ($def_values->find() as $df) { $df->delete(); } $defined_values = trim($r->getBody()); $pattern = "/[\n;]/"; $munged_string = preg_replace($pattern, '%', $defined_values); $response = array(); $def_value_array = explode('%', $munged_string); $response['count'] = count($def_value_array); $response['input'] = $att->html_input_type; $response['defined'] = $def_value_array; $sort_order = 0; foreach ($def_value_array as $df_text) { if (trim($df_text)) { $sort_order++; $def_value = new Dase_DBO_DefinedValue($this->db); $def_value->value_text = htmlspecialchars(trim($df_text), ENT_NOQUOTES, 'UTF-8'); $def_value->attribute_id = $att->id; $def_value->sort_order = $sort_order; $def_value->insert(); } } $r->response_mime_type = 'application/json'; $r->renderResponse(Dase_Json::get($response)); }
function expunge() { $dv = new Dase_DBO_DefinedValue($this->db); $dv->attribute_id = $this->id; foreach ($dv->find() as $doomed) { $doomed->delete(); } $ait = new Dase_DBO_AttributeItemType($this->db); $ait->attribute_id = $this->id; foreach ($ait->find() as $doomed) { $doomed->delete(); } $this->delete(); }