get_header_values($map , $header_array , $value_array); //$post_val = $helpers_instance->get_meta_values($maps , $header_array , $value_array); $this->types_import_function($post_values,$post_val,$type, $post_id, $mode, $hash_key,$line_number,$gmode,$templatekey); } public function types_import_function($data_array,$post_val, $type, $postId ,$mode, $hash_key,$line_number,$gmode,$templatekey) { $newtoolset_instance = new ToolsetNewImport(); $wptypesfields=array(); //include_once( 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $plugin_version = $plugins['types/wpcf.php']['Version']; $result=array_key_exists('types_relationship',$data_array); $intermediateResult=array_key_exists('intermediate',$data_array); if($result==1) { if($plugin_version < '3.4.1'){ $this->normalRelationship($data_array,$postId,$mode); } else{ $newtoolset_instance->normalRelationshipnew($data_array,$postId,$mode,$type); } } elseif($intermediateResult==1) { if($plugin_version < '3.4.1'){ $this->intermediateRelationship($data_array,$postId); } else{ $newtoolset_instance->intermediateRelationshipnew($data_array,$postId,$type); } } $createdFields = $types_fieldtype = array(); foreach($data_array as $dkey => $dvalue) { $createdFields[] = $dkey; } $types_fieldname = array(); $field_type= array(); $wptypesfields = get_option('wpcf-fields'); foreach($wptypesfields as $types_field) { $types_fieldname[$types_field['slug']] = $types_field['meta_key']; $types_fieldtype[$types_field['slug']] = $types_field['type']; } $getUserMetas = get_option('wpcf-usermeta'); if (is_array($getUserMetas)) { foreach($getUserMetas as $types_field) { $types_fieldname[$types_field['slug']] = $types_field['meta_key']; $types_fieldtype[$types_field['slug']] = $types_field['type']; } } $getTermMetas = get_option('wpcf-termmeta'); if (is_array($getTermMetas)) { foreach($getTermMetas as $types_field) { $types_fieldname[$types_field['slug']] = $types_field['meta_key']; $types_fieldtype[$types_field['slug']] = $types_field['type']; } } $result=array_intersect_key($types_fieldname,$data_array); //meta table entry. foreach ($result as $key => $value) { if (array_key_exists($key, $types_fieldtype)) { $field_type[$key] = $types_fieldtype[$key]; } } if ($type =='Users') { $wptypesfields=$getUserMetas; } else{ if(empty($wptypesfields)){ $wptypesfields=$getTermMetas; } } if ($mode=='Update') { if(!empty($data_array)) { require_once "toolsetHelper/WPToolsetUpdater.php"; $WPToolsetUpdater = WPToolsetUpdater::getInstance(); $WPToolsetUpdater->set($data_array, $result, $field_type,$wptypesfields,$type); $WPToolsetUpdater->update($postId,$post_val,$hash_key,$line_number,$gmode,$templatekey); } }elseif ($mode =='Insert') { if(!empty($data_array)) { require_once "toolsetHelper/WPToolsetImporter.php"; $wpToolsetImporter = WPToolsetImporter::getInstance(); $wpToolsetImporter->set($data_array, $result, $field_type,$wptypesfields,$type); $wpToolsetImporter->import($postId,$post_val,$hash_key,$line_number,$gmode,$templatekey); } } return $createdFields; } public function normalRelationship($data_array,$pID,$mode) { $value=$data_array['types_relationship']; global $wpdb; $x = preg_replace('/\s*,\s*/', ',', $value); $split=explode('|', $x); $get_rel_val = array(); foreach($split as $key=>$item){ foreach(explode(',',$item) as $value){ $get_rel_val[$key][] = $value; } } $slug=explode('|', $data_array['relationship_slug']); foreach ($get_rel_val as $key1 => $get_rel_vals) { foreach ($slug as $key2 => $value) { if ($key1 == $key2){ for ($i = 0; $i < count($get_rel_vals); $i++){ if (ctype_digit($get_rel_vals[$i])){ $post = get_post($get_rel_vals[$i]); global $wpdb; $pquery = "select id from {$wpdb->prefix}toolset_relationships where slug ='{$value}'"; $post = $wpdb->get_results($pquery); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post[0]->id, 'parent_id' => $get_rel_vals[$i], 'child_id' => $pID, 'intermediary_id' => '0' )); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post[0]->id, 'parent_id' => $pID, 'child_id' => $get_rel_vals[$i], 'intermediary_id' => '0' )); } else{ $get_rel_value = $wpdb->_real_escape($get_rel_vals[$i]); $pquery = "select * from {$wpdb->prefix}posts where post_title = '{$get_rel_value}' and post_status != 'trash'"; $post = $wpdb->get_results($pquery, ARRAY_A); $pquery = "select id from {$wpdb->prefix}toolset_relationships where slug ='{$value}'"; $post1 = $wpdb->get_results($pquery); if($mode=='Update'){ if(!empty($get_rel_value)) { global $wpdb; $parentquery = "select parent_id,child_id from {$wpdb->prefix}toolset_associations where relationship_id ='{$post1[0]->id}' AND parent_id='{$pID}'"; $parent_id=$wpdb->get_results($parentquery, ARRAY_A); $array=json_decode(json_encode($parent_id),true); foreach($array as $parkey => $parval){ if($parval['parent_id']==$pID && $parval['child_id']==$post[0]['ID']){ $query1 = "select id,intermediary_id from {$wpdb->prefix}toolset_associations where relationship_id ='{$post1[0]->id}' AND parent_id='{$pID}' AND child_id='{$post[0]['ID']}'"; $id1 =$wpdb->get_results($query1, ARRAY_A); $array1=json_decode(json_encode($id1),true); $wpdb->delete($wpdb->prefix . 'toolset_associations',array('id'=>$array1[0]['id'])); $wpdb->delete($wpdb->prefix . 'posts',array('ID'=>$array1[0]['intermediary_id'])); } elseif($parval['parent_id']==$pID){ $wpdb->delete($wpdb->prefix . 'toolset_associations',array('parent_id'=>$pID)); } } $interpostquery ="select display_name_plural,intermediary_type from {$wpdb->prefix}toolset_relationships where slug ='{$value}'"; $interpost = $wpdb->get_results($interpostquery); $array=array('post_title' => $interpost[0]->display_name_plural.': '.$post[0]['ID'].'-'.$pID, 'post_type' => $interpost[0]->intermediary_type,'post_status'=> 'publish'); $interid=wp_insert_post($array); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post1[0]->id, 'parent_id' => $pID, 'child_id' => $post[0]['ID'], 'intermediary_id' => $interid )); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post1[0]->id, 'parent_id' => $post[0]['ID'], 'child_id' => $pID, 'intermediary_id' => '0' )); } else{ $wpdb->delete($wpdb->prefix . 'toolset_associations',array('parent_id'=>$pID)); } } else{ $interpostquery ="select display_name_plural,intermediary_type from {$wpdb->prefix}toolset_relationships where slug ='{$value}'"; $interpost = $wpdb->get_results($interpostquery); $array=array('post_title' => $interpost[0]->display_name_plural.': '.$post[0]['ID'].'-'.$pID, 'post_type' => $interpost[0]->intermediary_type,'post_status'=> 'publish'); $interid=wp_insert_post($array); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post1[0]->id, 'parent_id' => $pID, 'child_id' => $post[0]['ID'], 'intermediary_id' => $interid )); $wpdb->insert($wpdb->prefix . 'toolset_associations', array( 'relationship_id' => $post1[0]->id, 'parent_id' => $post[0]['ID'], 'child_id' => $pID, 'intermediary_id' => '0' )); } } } } } } } public function intermediateRelationship($data_array,$pID) { $value=$data_array['intermediate']; $get_rel_vals = explode(',', $value); global $wpdb; $row = $wpdb->delete($wpdb->prefix.'toolset_associations',array('intermediary_id' => $pID)); if(intval($get_rel_vals[0])){ $post = get_post($get_rel_vals[0]); $pquery = "select id from {$wpdb->prefix}toolset_relationships where slug ='{$data_array['relationship_slug']}'"; $post = $wpdb->get_results($pquery); $wpdb->insert($wpdb->prefix.'toolset_associations',array('relationship_id' =>$post[0]->id ,'parent_id' => $get_rel_vals[0] ,'child_id' => $get_rel_vals[1] ,'intermediary_id' => $pID )); }else{ $pquery = "select * from {$wpdb->prefix}posts where post_title = '{$get_rel_vals[0]}' and post_status != 'trash'"; $post = $wpdb->get_results($pquery,ARRAY_A); $pqueryc = "select * from {$wpdb->prefix}posts where post_title = '{$get_rel_vals[1]}' and post_status != 'trash'"; $postc = $wpdb->get_results($pqueryc,ARRAY_A); $pquery = "select id from {$wpdb->prefix}toolset_relationships where slug ='{$data_array['relationship_slug']}'"; $post1 = $wpdb->get_results($pquery); $wpdb->insert($wpdb->prefix.'toolset_associations',array('relationship_id' => $post1[0]->id,'parent_id' => $post[0]['ID'] ,'child_id' => $postc[0]['ID'] ,'intermediary_id' => $pID)); } } }