63 lines
2.6 KiB
PHP
63 lines
2.6 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace WP_Piwik\Template;
|
||
|
|
||
|
class MetaBoxCustomVars extends \WP_Piwik\Template {
|
||
|
|
||
|
public function addMetabox() {
|
||
|
add_meta_box(
|
||
|
'wp-piwik_post_customvars',
|
||
|
__('Piwik Custom Variables', 'wp-piwik'),
|
||
|
array(&$this, 'showCustomvars'),
|
||
|
array('post', 'page', 'custom_post_type'),
|
||
|
'side',
|
||
|
'default'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public function showCustomvars($objPost, $objBox ) {
|
||
|
wp_nonce_field(basename( __FILE__ ), 'wp-piwik_post_customvars_nonce'); ?>
|
||
|
<table>
|
||
|
<tr><th></th><th><?php _e('Name', 'wp-piwik'); ?></th><th><?php _e('Value', 'wp-piwik'); ?></th></tr>
|
||
|
<?php for($i = 1; $i <= 5; $i++) { ?>
|
||
|
<tr>
|
||
|
<th><label for="wp-piwik_customvar1"><?php echo $i; ?>: </label></th>
|
||
|
<td><input class="widefat" type="text" name="wp-piwik_custom_cat<?php echo $i; ?>" value="<?php echo esc_attr(get_post_meta($objPost->ID, 'wp-piwik_custom_cat'.$i, true ) ); ?>" size="200" /></td>
|
||
|
<td><input class="widefat" type="text" name="wp-piwik_custom_val<?php echo $i; ?>" value="<?php echo esc_attr(get_post_meta($objPost->ID, 'wp-piwik_custom_val'.$i, true ) ); ?>" size="200" /></td>
|
||
|
</tr>
|
||
|
<?php } ?>
|
||
|
</table>
|
||
|
<p><?php _e('Set custom variables for a page view', 'wp-piwik'); ?>. (<a href="http://piwik.org/docs/custom-variables/"><?php _e('More information', 'wp-piwik'); ?></a>.)</p>
|
||
|
<?php
|
||
|
}
|
||
|
|
||
|
public function saveCustomVars($intID, $objPost) {
|
||
|
// Verify the nonce before proceeding.
|
||
|
if (!isset( $_POST['wp-piwik_post_customvars_nonce'] ) || !wp_verify_nonce( $_POST['wp-piwik_post_customvars_nonce'], basename( __FILE__ ) ) )
|
||
|
return $intID;
|
||
|
// Get post type object
|
||
|
$objPostType = get_post_type_object($objPost->post_type);
|
||
|
// Check if the current user has permission to edit the post.
|
||
|
if (!current_user_can($objPostType->cap->edit_post, $intID))
|
||
|
return $intID;
|
||
|
$aryNames = array('cat', 'val');
|
||
|
for ($i = 1; $i <= 5; $i++)
|
||
|
for ($j = 0; $j <= 1; $j++) {
|
||
|
// Get data
|
||
|
$strMetaVal = (isset($_POST['wp-piwik_custom_'.$aryNames[$j].$i])?htmlentities($_POST['wp-piwik_custom_'.$aryNames[$j].$i]):'');
|
||
|
// Create key
|
||
|
$strMetaKey = 'wp-piwik_custom_'.$aryNames[$j].$i;
|
||
|
// Get the meta value of the custom field key
|
||
|
$strCurVal = get_post_meta($intID, $strMetaKey, true);
|
||
|
// Add meta val:
|
||
|
if ($strMetaVal && '' == $strCurVal)
|
||
|
add_post_meta($intID, $strMetaKey, $strMetaVal, true);
|
||
|
// Update meta val:
|
||
|
elseif ($strMetaVal && $strMetaVal != $strCurVal)
|
||
|
update_post_meta($intID, $strMetaKey, $strMetaVal);
|
||
|
// Delete meta val:
|
||
|
elseif (''==$strMetaVal && $strCurVal)
|
||
|
delete_post_meta($intID, $strMetaKey, $strCurVal);
|
||
|
}
|
||
|
}
|
||
|
}
|