/**
  * update_approved function.
  *
  * @access public
  * @static
  * @param int $lead_id (default: 0)
  * @param int $approved (default: 0)
  * @param int $form_id (default: 0)
  * @param int $approvedcolumn (default: 0)
  * @return boolean True: It worked; False: it failed
  */
 public static function update_approved($entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0)
 {
     if (!class_exists('GFAPI')) {
         do_action('gravityview_log_error', __METHOD__ . 'GFAPI does not exist');
         return false;
     }
     if (empty($approvedcolumn)) {
         $approvedcolumn = self::get_approved_column($form_id);
     }
     //get the entry
     $entry = GFAPI::get_entry($entry_id);
     //update entry
     $entry[(string) $approvedcolumn] = $approved;
     /** @var bool|WP_Error $result */
     $result = GFAPI::update_entry($entry);
     /**
      * GFAPI::update_entry() doesn't trigger `gform_after_update_entry`, so we trigger updating the meta ourselves.
      */
     self::update_approved_meta($entry_id, $approved);
     // add note to entry
     if ($result === true) {
         $note = empty($approved) ? __('Disapproved the Entry for GravityView', 'gravityview') : __('Approved the Entry for GravityView', 'gravityview');
         if (class_exists('GravityView_Entry_Notes')) {
             global $current_user;
             get_currentuserinfo();
             GravityView_Entry_Notes::add_note($entry_id, $current_user->ID, $current_user->display_name, $note);
         }
         /**
          * Destroy the cache for this form
          * @see class-cache.php
          * @since 1.5.1
          */
         do_action('gravityview_clear_form_cache', $form_id);
     } else {
         if (is_wp_error($result)) {
             do_action('gravityview_log_error', __METHOD__ . sprintf(' - Entry approval not updated: %s', $result->get_error_message()));
             $result = false;
         }
     }
     return $result;
 }
 /**
  * Add a note.
  *
  * @since 1.17
  *
  * @see GravityView_Entry_Notes::add_note This method is mostly a wrapper
  *
  * @param array $entry
  * @param array $data Note details array
  *
  * @return int|WP_Error
  */
 private function add_note($entry, $data)
 {
     global $current_user, $wpdb;
     $user_data = get_userdata($current_user->ID);
     $note_content = trim($data['gv-note-content']);
     if (empty($note_content)) {
         return new WP_Error('gv-add-note-empty', __('The note is empty.', 'gravityview'));
     }
     $return = GravityView_Entry_Notes::add_note($entry['id'], $user_data->ID, $user_data->display_name, $note_content, 'gravityview/field/notes');
     return $return;
 }
 /**
  * @since 1.15
  * @param $entry_ids
  */
 function _set_up_notes($entry_ids)
 {
     $disapproved = __('Disapproved the Entry for GravityView', 'gravityview');
     $approved = __('Approved the Entry for GravityView', 'gravityview');
     foreach ($entry_ids as $entry_id) {
         $added_notes = 0;
         // Deleted because it's "gravityview" note type
         GravityView_Entry_Notes::add_note($entry_id, -1, new WP_UnitTest_Generator_Sequence('To be deleted %s'), 'NOTE!', 'gravityview');
         // TO BE DELETED
         $added_notes++;
         // Deleted because it's the same value as $approved
         GravityView_Entry_Notes::add_note($entry_id, -1, new WP_UnitTest_Generator_Sequence('To be deleted %s'), $approved, 'note');
         $added_notes++;
         // Deleted because it's the same value as $disapproved
         GravityView_Entry_Notes::add_note($entry_id, -1, new WP_UnitTest_Generator_Sequence('To be deleted %s'), $disapproved, 'note');
         $added_notes++;
         // NOT DELETED
         GravityView_Entry_Notes::add_note($entry_id, -1, new WP_UnitTest_Generator_Sequence('NOT DELETED %s'), 'NOT DELETED', 'note');
         // NOT DELETED ("note" type)
         $added_notes++;
         $notes = GravityView_Entry_Notes::get_notes($entry_id);
         $this->assertEquals(sizeof($notes), $added_notes);
     }
 }
Пример #4
0
 */
$gravityview_view = GravityView_View::getInstance();
$visibility_settings = $gravityview_view->getCurrentFieldSetting('notes');
$show_notes_logged_out = !empty($visibility_settings['view']) && !empty($visibility_settings['view_loggedout']);
if (!GVCommon::has_cap(array('gravityview_view_entry_notes', 'gravityview_add_entry_notes', 'gravityview_delete_entry_notes')) && !$show_notes_logged_out) {
    return;
}
require_once GFCommon::get_base_path() . '/entry_detail.php';
/**
 * @action `gravityview/field/notes/scripts` Print scripts and styles required for the Notes field
 * @see GravityView_Field_Notes::enqueue_scripts
 * @since 1.17
 */
do_action('gravityview/field/notes/scripts');
$entry = $gravityview_view->getCurrentEntry();
$notes = GravityView_Entry_Notes::get_notes($entry['id']);
$strings = GravityView_Field_Notes::strings();
$entry_slug = GravityView_API::get_entry_slug($entry['id'], $entry);
$show_add = !empty($visibility_settings['add']);
$show_delete = !empty($visibility_settings['delete']) && GVCommon::has_cap('gravityview_delete_entry_notes');
$show_notes = $show_notes_logged_out || !empty($visibility_settings['view']) && GVCommon::has_cap('gravityview_view_entry_notes');
$container_class = sizeof($notes) > 0 ? 'gv-has-notes' : 'gv-no-notes';
$container_class .= $show_notes ? ' gv-show-notes' : ' gv-hide-notes';
?>
<div class="gv-notes <?php 
echo $container_class;
?>
">
<?php 
if ($show_notes) {
    ?>
 /**
  * When the entry creator is changed, add a note to the entry
  * @param  array $form   GF entry array
  * @param  int $entry_id Entry ID
  * @return void
  */
 function update_entry_creator($form, $entry_id)
 {
     global $current_user;
     // Update the entry
     $created_by = absint(rgpost('created_by'));
     RGFormsModel::update_lead_property($entry_id, 'created_by', $created_by);
     // If the creator has changed, let's add a note about who it used to be.
     $originally_created_by = rgpost('originally_created_by');
     // If there's no owner and there didn't used to be, keep going
     if (empty($originally_created_by) && empty($created_by)) {
         return;
     }
     // If the values have changed
     if (absint($originally_created_by) !== absint($created_by)) {
         $user_data = get_userdata($current_user->ID);
         $user_format = _x('%s (ID #%d)', 'The name and the ID of users who initiated changes to entry ownership', 'gravityview');
         $original_name = $created_by_name = esc_attr_x('No User', 'To show that the entry was unassigned from an actual user to no user.', 'gravityview');
         if (!empty($originally_created_by)) {
             $originally_created_by_user_data = get_userdata($originally_created_by);
             $original_name = sprintf($user_format, $originally_created_by_user_data->display_name, $originally_created_by_user_data->ID);
         }
         if (!empty($created_by)) {
             $created_by_user_data = get_userdata($created_by);
             $created_by_name = sprintf($user_format, $created_by_user_data->display_name, $created_by_user_data->ID);
         }
         GravityView_Entry_Notes::add_note($entry_id, $current_user->ID, $user_data->display_name, sprintf(__('Changed entry creator from %s to %s', 'gravityview'), $original_name, $created_by_name), 'note');
     }
 }
 /**
  * update_approved function.
  *
  * @access public
  * @static
  * @param int $entry_id (default: 0)
  * @param int $approved (default: 0)
  * @param int $form_id (default: 0)
  * @param int $approvedcolumn (default: 0)
  * @return boolean True: It worked; False: it failed
  */
 public static function update_approved($entry_id = 0, $approved = 0, $form_id = 0, $approvedcolumn = 0)
 {
     if (!class_exists('GFAPI')) {
         do_action('gravityview_log_error', __METHOD__ . 'GFAPI does not exist');
         return false;
     }
     if (empty($approvedcolumn)) {
         $approvedcolumn = self::get_approved_column($form_id);
     }
     //get the entry
     $entry = GFAPI::get_entry($entry_id);
     //update entry
     $entry[(string) $approvedcolumn] = $approved;
     /** @var bool|WP_Error $result */
     $result = GFAPI::update_entry($entry);
     /**
      * GFAPI::update_entry() doesn't trigger `gform_after_update_entry`, so we trigger updating the meta ourselves.
      */
     self::update_approved_meta($entry_id, $approved, $form_id);
     // add note to entry
     if ($result === true) {
         $note = empty($approved) ? __('Disapproved the Entry for GravityView', 'gravityview') : __('Approved the Entry for GravityView', 'gravityview');
         /**
          * @filter `gravityview/approve_entries/add-note` Add a note when the entry has been approved or disapproved?
          * @since 1.16.3
          * @param bool $add_note True: Yep, add that note! False: Do not, under any circumstances, add that note!
          */
         $add_note = apply_filters('gravityview/approve_entries/add-note', true);
         if ($add_note && class_exists('GravityView_Entry_Notes')) {
             $current_user = wp_get_current_user();
             GravityView_Entry_Notes::add_note($entry_id, $current_user->ID, $current_user->display_name, $note);
         }
         /**
          * Destroy the cache for this form
          * @see class-cache.php
          * @since 1.5.1
          */
         do_action('gravityview_clear_form_cache', $form_id);
     } else {
         if (is_wp_error($result)) {
             do_action('gravityview_log_error', __METHOD__ . sprintf(' - Entry approval not updated: %s', $result->get_error_message()));
             $result = false;
         }
     }
     return $result;
 }