Simple ActionApps code examples
From ActionApps Documentation
Copy an existing item - basic version
<? /* Copied config.php3 from AA's include dirC tweaked to needs */ require_once "config.php3"; require_once $GLOBALS['AA_INC_PATH']."locsess.php3"; require_once $GLOBALS['AA_INC_PATH']."itemfunc.php3"; function fieldname($name) { //Add some extra dots to fieldname ... $len = strlen($name); $result = $name; if ($len < 16) for ($count = 0; $count < 16 - $len; $count++) $result .= "."; return $result; } function get_value($item_array, $field) { //return value of field from item_array return $item_array[fieldname($field)][0]["value"]; } function test_get_and_store() { $item_id = "ac18cc62bd06ca592b6c32116e3e5159"; $existing_content_array = GetItemContent($item_id); echo get_value($existing_content_array[$item_id], "headline"); //var_dump($existing_content_array); var_dump($item_id); $new_item_id = new_id(); $existing_content_array[$item_id][fieldname("headline")][0]["value"] = "Now finetune these thingies"; $new_content_array = array($new_item_id => $existing_content_array[$item_id]); $content4id = new ItemContent($new_content_array[$new_item_id]); $content4id->setItemID($new_item_id); $added_to_db = $content4id->storeItem('insert', $invalidatecache = false, $feed = false); } test_get_and_store(); ?>
Copy an existing item - classy version
<? /* Copied config.php3 from AA's include dirC tweaked to needs */ require_once "config.php3"; require_once $GLOBALS['AA_INC_PATH']."locsess.php3"; require_once $GLOBALS['AA_INC_PATH']."itemfunc.php3"; class aa_item { /* Kasper's own class to deal with Action Apps Items */ function aa_item($item_id = null) { if ($item_id) { $this->fetch_item($item_id); } } function fetch_item($item_id) { $this->item_id = $item_id; $this->content_array = GetItemContent($item_id); } function fieldname($name) { /* Add some extra dots to fieldname ... */ $len = strlen($name); $result = $name; if ($len < 16) for ($count = 0; $count < 16 - $len; $count++) $result .= "."; return $result; } function value($field) { /* Return value of field */ return $this->content_array[$this->item_id] [$this->fieldname($field)][0]["value"]; } function set_value($field, $value) { /* Set value of field */ $this->content_array[$this->item_id] [$this->fieldname($field)][0]["value"] = $value; } function save_as_new() { /* Save item with new ID */ $new_item_id = new_id(); $new_content_array = array($new_item_id => $this->content_array[$this->item_id]); $content4id = new ItemContent($new_content_array[$new_item_id]); $content4id->setItemID($new_item_id); $added_to_db = $content4id->storeItem('insert', $invalidatecache = false, $feed = false); $this->fetch_item($new_item_id); } } function test_get_and_store() { $existing_item = new aa_item("ac18cc62bd06ca592b6c32116e3e5159"); echo $existing_item->value("headline"); $existing_item->set_value("headline", "New item test"); $existing_item->save_as_new(); } test_get_and_store(); ?>