private static function order_by_marked($apm_ids, $order, $marked_apm_ids = array()) { if (!ApmAddons::addon_is_on('flagged_pages')) { return $apm_ids; } if (empty($marked_apm_ids)) { $apm_marked = new ApmMarkedNodes(); $marked_apm_ids = array_keys($apm_marked->get_marked_nodes()); } $marked = array(); $not_marked = array(); foreach ($apm_ids as $apm_id) { if (in_array($apm_id, $marked_apm_ids)) { $marked[] = $apm_id; } else { $not_marked[] = $apm_id; } } $apm_ids = $order == 'ASC' ? array_merge($not_marked, $marked) : array_merge($marked, $not_marked); return $apm_ids; }
/** * Debug function : to display tree nodes marks infos */ public static function get_marked() { $marked_pages = array(); if (ApmAddons::addon_is_on('flagged_pages')) { $marked = new ApmMarkedNodes(); $marked_pages = $marked->get_marked_nodes(); } return $marked_pages; }
public function delete($nodes_to_delete) { if (is_numeric($nodes_to_delete)) { $nodes_to_delete = array($nodes_to_delete); } foreach ($nodes_to_delete as $k => $node) { if (!array_key_exists($node, $this->nodes_data)) { unset($nodes_to_delete[$k]); } else { unset($this->nodes_data[$node]); } } if (ApmAddons::addon_is_on('flagged_pages')) { ApmMarkedNodes::delete_multiple($nodes_to_delete); } }