public function __construct() { parent::__construct(); $this->_dataController = DataController::getInstance(); $this->_scriptController = new ScriptController(); $this->_adminController = new AdminController(); $this->_loginController = new LoginController(); add_action('after_switch_theme', array($this, 'activate_theme')); add_action('switch_theme', array($this, 'deactivate_theme')); add_action('tgmpa_register', array($this, 'register_plugin_dependencies')); }
/** * Save new graph data to WordPress * @param WP_REST_Request $request The request containing the updated data * @return WP_REST_Response */ public function update_items(\WP_REST_Request $request) { $params = $request->get_params(); // First pass to create all new nodes and replace their temp ID with their true ID if (is_array($params['newNodeIndexes'])) { foreach ($params['newNodeIndexes'] as $nodeIndex) { $postID = ''; $oldPostID = $params['nodes'][$nodeIndex]['id']; switch ($params['nodes'][$nodeIndex]['type']) { case 'life': case 'perk': $postID = DataController::getInstance()->getCPT('point-node')->create($params['nodes'][$nodeIndex]); break; } $params['nodes'][$nodeIndex]['id'] = $postID; // Replace all instances of the temp ID with the newly inserted one in link data if (is_array($params['links'])) { foreach ($params['links'] as &$link) { if ($link[0] == $oldPostID) { $link[0] = $postID; } if ($link[1] == $oldPostID) { $link[1] = $postID; } } } } } // Update all data on all nodes foreach ($params['nodes'] as $node) { $links = $this->get_linked_nodes_from_id($node['id'], $params['links']); switch ($node['type']) { // Skill nodes case 'skill': DataController::getInstance()->getCPT('skill')->update_skill_graph_data($node, $links); break; // Upgrade nodes // Upgrade nodes case 'upgrade': DataController::getInstance()->getCPT('skill')->update_upgrade_graph_data($node, $links); break; // Point nodes // Point nodes case 'life': case 'perk': DataController::getInstance()->getCPT('point-node')->update_graph_data($node, $links); break; } } // Delete removed nodes if (is_array($params['deletedNodes'])) { foreach ($params['deletedNodes'] as $node) { wp_delete_post($node, true); } } return new \WP_REST_Response('Zodiaque sauvegardé avec succès!', 200); }