PluginProbe
BetterLinks – Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP / trunk
BetterLinks – Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP vtrunk
3.1.3 3.1.2 3.1.1 3.1.0 3.0.1 3.0.0 2.4.13 2.4.12 2.4.11 2.4.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 All 110 releases
betterlinks / includes / Tools / Migration / BaseCSV.php

BaseCSV.php in BetterLinks – Link Shortener, Link Cloaking, Redirects, Affiliate Link Manager & MCP trunk, at includes/Tools/Migration/BaseCSV.php

66 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace BetterLinks\Tools\Migration;
3 if ( ! defined( 'ABSPATH' ) ) { exit; }
4
5 class BaseCSV {
6
7 // Tracks whether the most recent insert_link() call created a new link or
8 // overwrote an existing one. Importers read this to decide between
9 // "Imported Successfully" and "Updated existing" log messages.
10 protected $last_operation = 'inserted';
11
12 public function insert_link( $item ) {
13 if ( ! isset( $item['short_url'] ) ) {
14 return;
15 }
16 $link = \BetterLinks\Helper::get_link_by_short_url( $item['short_url'] );
17 $link_id = 0;
18 if ( count( $link ) > 0 ) {
19 $this->last_operation = 'updated';
20 $item['ID'] = current( $link )['ID'];
21 $link_id = \BetterLinks\Helper::insert_link( $item, true );
22 \BetterLinks\Helper::remove_terms_relationships_by_link_ID( $link_id );
23 } else {
24 $this->last_operation = 'inserted';
25 $link_id = \BetterLinks\Helper::insert_link( $item );
26 }
27 $tags = \BetterLinks\Helper::insert_tags_terms( ( ! empty( $item['tags'] ) ? explode( ',', $item['tags'] ) : array() ) );
28 $category = \BetterLinks\Helper::insert_category_terms( ( ! empty( $item['category'] ) ? explode( ',', $item['category'] ) : array( 'uncategorized' ) ) );
29 $all_terms = array_merge( $tags, $category );
30 if ( count( $all_terms ) > 0 && $link_id > 0 ) {
31 foreach ( $all_terms as $term ) {
32 \BetterLinks\Helper::insert_terms_relationships( $term, $link_id );
33 }
34 }
35 return $link_id;
36 }
37
38 public function insert_keywords( $link_id, $keywords, $arg = array(), $meta_key = 'keywords', $update = false ) {
39 $results = \BetterLinks\Helper::get_link_meta( $link_id, $meta_key );
40 $arg['link_id'] = $link_id;
41 if ( empty( $results ) || $update ) {
42 $args = wp_parse_args(
43 $arg,
44 array(
45 'keywords' => $keywords,
46 'link_id' => $link_id,
47 'post_type' => array( 'post', 'page' ),
48 'category' => '',
49 'tags' => '',
50 'open_new_tab' => false,
51 'use_no_follow' => false,
52 'case_sensitive' => false,
53 'left_boundary' => '',
54 'right_boundary' => '',
55 'keyword_before' => '',
56 'keyword_after' => '',
57 'limit' => 100,
58 'priority' => '',
59 )
60 );
61 return \BetterLinks\Helper::add_link_meta( $link_id, $meta_key, wp_json_encode( $args ) );
62 }
63 return;
64 }
65 }
66