?> <div id="sr-feedback-loader"> <?php foreach ($mockup_data['feedbacks'] as $id => $feedback) { ?> <div class="sr-feedback-preload" data-id="<?php echo $id; ?> " data-x="<?php echo $feedback['x']; ?> " data-y="<?php echo $feedback['y']; ?> " data-is-owner="<?php echo in_array($id, sm_get_user_feedbacks()) ? '1' : '0'; ?> " data-user-can-delete="<?php echo sm_can_user_delete_feedback(null, $id) ? '1' : '0'; ?> "><div class="comments"><?php echo join('', $feedback['comments']); ?> </div></div> <?php } ?> </div> <?php /* Feedback Template */
/** * Check if user can delete feedbacks * * @since 1.2.0 * @return bool */ function sm_can_user_delete_feedback($user_id = null, $feedback_id = null) { // If no user_id is passed try to get current user from session if ($user_id == null) { $user = wp_get_current_user(); // If user is not logged in return false if ($user->ID == 0) { // Check if the user is the owner of feedback_id if (!is_null($feedback_id) && in_array($feedback_id, sm_get_user_feedbacks())) { return true; } else { return false; } } else { $user_id = $user->ID; } } // Allow only the admin to be able to delete a feedback if (is_super_admin($user_id)) { return true; } else { // Check if the user is the owner of feedback_id if (!is_null($feedback_id) && in_array($feedback_id, sm_get_user_feedbacks())) { return true; } else { return false; } } }
/** * Remove a user feedback ID previously added in cookie * * @since 1.2.0 */ public function setcookie_remove_user_feedback($feedback_id) { $user_feedbacks = sm_get_user_feedbacks(); if (!$user_feedbacks) { $user_feedbacks = array(); } if (($key = array_search($feedback_id, $user_feedbacks)) !== false) { unset($user_feedbacks[$key]); } setcookie('sm_my_fdbks', base64_encode(json_encode($user_feedbacks)), time() + WEEK_IN_SECONDS, '/', $_SERVER['SERVER_NAME'], 0, 0); }