PluginProbe
Advanced Custom Fields (ACF®) / 3.1.5
Advanced Custom Fields (ACF®) v3.1.5
6.8.9 6.8.8 6.8.7 6.8.6 6.8.5 6.8.4 6.8.3 6.8.2 6.8.1 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 All 230 releases
advanced-custom-fields / core / actions / init.php
init.php
149 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * Settup Fields
5 * this function will create an array of field objects, including custom registered field types
6 */
7
8 $this->setup_fields();
9
10 /*
11 * Upgrade
12 * test the current acf version against the version in the main file
13 * If this is a newer version, show the upgrade database message
14 */
15
16 $version = get_option('acf_version', false);
17 if($version)
18 {
19 if(version_compare($version,$this->upgrade_version) < 0)
20 {
21 $this->admin_message('<p>Advanced Custom Fields v' . $this->version . ' requires a database upgrade. Please <a href="http://codex.wordpress.org/Backing_Up_Your_Database">backup your database</a> then click <a href="' . admin_url() . 'edit.php?post_type=acf&page=acf-upgrade" class="button">Upgrade Database</a></p>');
22
23 }
24 }
25 else
26 {
27 update_option('acf_version', $this->version );
28 }
29
30 /*
31 * Deactivate add-on
32 * called from page_settings, this code will deactivate an add-on
33 */
34
35 if(isset($_POST['acf_field_deactivate']))
36 {
37 // vars
38 $message = "";
39 $field = $_POST['acf_field_deactivate'];
40
41 // delete field
42 delete_option('acf_'.$field.'_ac');
43
44 //set message
45 if($field == "repeater")
46 {
47 $message = "<p>Repeater field deactivated</p>";
48 }
49 elseif($field == "options_page")
50 {
51 $message = "<p>Options page deactivated</p>";
52 }
53 elseif($field == "flexible_content")
54 {
55 $message = "<p>Flexible Content field deactivated</p>";
56 }
57
58 // show message on page
59 $this->admin_message($message);
60 }
61
62 /*
63 * Actviate add-on
64 * called from page_settings, this code will activate an add-on
65 */
66
67 if(isset($_POST['acf_field_activate']) && isset($_POST['key']))
68 {
69 // vars
70 $message = "";
71 $field = $_POST['acf_field_activate'];
72 $key = trim($_POST['key']);
73
74 // update option
75 update_option('acf_'.$field.'_ac', $key);
76
77 // did it unlock?
78 if($this->is_field_unlocked($field))
79 {
80 //set message
81 if($field == "repeater")
82 {
83 $message = "<p>Repeater field activated</p>";
84 }
85 elseif($field == "options_page")
86 {
87 $message = "<p>Options page activated</p>";
88 }
89 elseif($field == "flexible_content")
90 {
91 $message = "<p>Flexible Content field activated</p>";
92 }
93
94 $this->admin_message($message);
95 }
96 else
97 {
98 $this->admin_message('<p>License key unrecognised</p>', 'error');
99 }
100 }
101
102 /*
103 * Create ACF Post Type
104 */
105
106 $labels = array(
107 'name' => __( 'Field&nbsp;Groups', 'acf' ),
108 'singular_name' => __( 'Advanced Custom Fields', 'acf' ),
109 'add_new' => __( 'Add New' , 'acf' ),
110 'add_new_item' => __( 'Add New Field Group' , 'acf' ),
111 'edit_item' => __( 'Edit Field Group' , 'acf' ),
112 'new_item' => __( 'New Field Group' , 'acf' ),
113 'view_item' => __('View Field Group'),
114 'search_items' => __('Search Field Groups'),
115 'not_found' => __('No Field Groups found'),
116 'not_found_in_trash' => __('No Field Groups found in Trash'),
117 );
118
119 register_post_type('acf', array(
120 'labels' => $labels,
121 'public' => false,
122 'show_ui' => true,
123 '_builtin' => false,
124 'capability_type' => 'page',
125 'hierarchical' => true,
126 'rewrite' => false,
127 'query_var' => "acf",
128 'supports' => array(
129 'title',
130 ),
131 'show_in_menu' => false,
132 ));
133
134 /*
135 * Set Custom Columns
136 * for the acf edit field groups page
137 */
138
139 add_filter("manage_edit-acf_columns", "acf_columns_filter");
140 function acf_columns_filter($columns)
141 {
142 $columns = array(
143 'cb' => '<input type="checkbox" />',
144 'title' => 'Title',
145 );
146 return $columns;
147 }
148
149 ?>