api = new Igny8API(); $this->site_id = $site_id; } /** * Full site scan and semantic mapping * * @return array Result array */ public function full_site_scan() { // Collect all data $site_data = igny8_collect_site_data(); // Send to IGNY8 $response = $this->api->post("/system/sites/{$this->site_id}/import/", array( 'site_data' => $site_data, 'import_type' => 'full_scan' )); if ($response['success']) { // Map to semantic strategy $mapping = igny8_map_site_to_semantic_strategy($this->site_id, $site_data); return array( 'success' => true, 'import_id' => $response['data']['import_id'] ?? null, 'semantic_map' => $mapping['data'] ?? null, 'summary' => array( 'posts' => count($site_data['posts']), 'taxonomies' => count($site_data['taxonomies']), 'products' => count($site_data['products'] ?? array()), 'product_attributes' => count($site_data['product_attributes'] ?? array()) ) ); } return array('success' => false, 'error' => $response['error'] ?? 'Unknown error'); } /** * Get semantic strategy recommendations * * @return array|false Recommendations or false on failure */ public function get_recommendations() { $response = $this->api->get("/planner/sites/{$this->site_id}/recommendations/"); if ($response['success']) { return $response['data']; } return false; } /** * Apply restructuring recommendations * * @param array $recommendations Recommendations array * @return bool True on success */ public function apply_restructuring($recommendations) { $response = $this->api->post("/planner/sites/{$this->site_id}/restructure/", array( 'recommendations' => $recommendations )); return $response['success']; } /** * Sync incremental site data * * @return array|false Sync result or false on failure */ public function sync_incremental() { return igny8_sync_incremental_site_data($this->site_id); } }