Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/woocomme.../src/Admin/Notes
File: Note.php
$this->error( 'admin_note_invalid_data', __( 'The admin note content_data prop must be an instance of stdClass.', 'woocommerce' ) );
[500] Fix | Delete
}
[501] Fix | Delete
[502] Fix | Delete
$this->set_prop( 'content_data', $content_data );
[503] Fix | Delete
}
[504] Fix | Delete
[505] Fix | Delete
/**
[506] Fix | Delete
* Set note status.
[507] Fix | Delete
*
[508] Fix | Delete
* @param string $status Note status.
[509] Fix | Delete
*/
[510] Fix | Delete
public function set_status( $status ) {
[511] Fix | Delete
if ( empty( $status ) ) {
[512] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note status prop cannot be empty.', 'woocommerce' ) );
[513] Fix | Delete
}
[514] Fix | Delete
[515] Fix | Delete
if ( ! in_array( $status, self::get_allowed_statuses(), true ) ) {
[516] Fix | Delete
$this->error(
[517] Fix | Delete
'admin_note_invalid_data',
[518] Fix | Delete
sprintf(
[519] Fix | Delete
/* translators: %s: admin note status property. */
[520] Fix | Delete
__( 'The admin note status prop (%s) is not one of the supported statuses.', 'woocommerce' ),
[521] Fix | Delete
$status
[522] Fix | Delete
)
[523] Fix | Delete
);
[524] Fix | Delete
}
[525] Fix | Delete
[526] Fix | Delete
$this->set_prop( 'status', $status );
[527] Fix | Delete
}
[528] Fix | Delete
[529] Fix | Delete
/**
[530] Fix | Delete
* Set note source.
[531] Fix | Delete
*
[532] Fix | Delete
* @param string $source Note source.
[533] Fix | Delete
*/
[534] Fix | Delete
public function set_source( $source ) {
[535] Fix | Delete
if ( empty( $source ) ) {
[536] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note source prop cannot be empty.', 'woocommerce' ) );
[537] Fix | Delete
}
[538] Fix | Delete
[539] Fix | Delete
$this->set_prop( 'source', $source );
[540] Fix | Delete
}
[541] Fix | Delete
[542] Fix | Delete
/**
[543] Fix | Delete
* Set date note was created. NULL is not allowed
[544] Fix | Delete
*
[545] Fix | Delete
* @param string|integer $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed.
[546] Fix | Delete
*/
[547] Fix | Delete
public function set_date_created( $date ) {
[548] Fix | Delete
if ( empty( $date ) ) {
[549] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note date prop cannot be empty.', 'woocommerce' ) );
[550] Fix | Delete
}
[551] Fix | Delete
[552] Fix | Delete
if ( is_string( $date ) && ! is_numeric( $date ) ) {
[553] Fix | Delete
$date = wc_string_to_timestamp( $date );
[554] Fix | Delete
}
[555] Fix | Delete
$this->set_date_prop( 'date_created', $date );
[556] Fix | Delete
}
[557] Fix | Delete
[558] Fix | Delete
/**
[559] Fix | Delete
* Set date admin should be reminded of note. NULL IS allowed
[560] Fix | Delete
*
[561] Fix | Delete
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if there is no date.
[562] Fix | Delete
*/
[563] Fix | Delete
public function set_date_reminder( $date ) {
[564] Fix | Delete
if ( is_string( $date ) && ! is_numeric( $date ) ) {
[565] Fix | Delete
$date = wc_string_to_timestamp( $date );
[566] Fix | Delete
}
[567] Fix | Delete
$this->set_date_prop( 'date_reminder', $date );
[568] Fix | Delete
}
[569] Fix | Delete
[570] Fix | Delete
/**
[571] Fix | Delete
* Set note snoozability.
[572] Fix | Delete
*
[573] Fix | Delete
* @param bool $is_snoozable Whether or not the note can be snoozed.
[574] Fix | Delete
*/
[575] Fix | Delete
public function set_is_snoozable( $is_snoozable ) {
[576] Fix | Delete
return $this->set_prop( 'is_snoozable', $is_snoozable );
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
/**
[580] Fix | Delete
* Clear actions from a note.
[581] Fix | Delete
*/
[582] Fix | Delete
public function clear_actions() {
[583] Fix | Delete
$this->set_prop( 'actions', array() );
[584] Fix | Delete
}
[585] Fix | Delete
[586] Fix | Delete
/**
[587] Fix | Delete
* Set note layout.
[588] Fix | Delete
*
[589] Fix | Delete
* @param string $layout Note layout.
[590] Fix | Delete
*/
[591] Fix | Delete
public function set_layout( $layout ) {
[592] Fix | Delete
// If we don't receive a layout we will set it by default as "plain".
[593] Fix | Delete
if ( empty( $layout ) ) {
[594] Fix | Delete
$layout = 'plain';
[595] Fix | Delete
}
[596] Fix | Delete
$valid_layouts = array( 'plain', 'thumbnail' );
[597] Fix | Delete
[598] Fix | Delete
if ( in_array( $layout, $valid_layouts, true ) ) {
[599] Fix | Delete
$this->set_prop( 'layout', $layout );
[600] Fix | Delete
} else {
[601] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note layout has a wrong prop value.', 'woocommerce' ) );
[602] Fix | Delete
}
[603] Fix | Delete
}
[604] Fix | Delete
[605] Fix | Delete
/**
[606] Fix | Delete
* Set note image.
[607] Fix | Delete
*
[608] Fix | Delete
* @param string $image Note image.
[609] Fix | Delete
*/
[610] Fix | Delete
public function set_image( $image ) {
[611] Fix | Delete
$this->set_prop( 'image', $image );
[612] Fix | Delete
}
[613] Fix | Delete
[614] Fix | Delete
/**
[615] Fix | Delete
* Set note deleted status. NULL is not allowed
[616] Fix | Delete
*
[617] Fix | Delete
* @param bool $is_deleted Note deleted status.
[618] Fix | Delete
*/
[619] Fix | Delete
public function set_is_deleted( $is_deleted ) {
[620] Fix | Delete
$this->set_prop( 'is_deleted', $is_deleted );
[621] Fix | Delete
}
[622] Fix | Delete
[623] Fix | Delete
/**
[624] Fix | Delete
* Set note is_read status. NULL is not allowed
[625] Fix | Delete
*
[626] Fix | Delete
* @param bool $is_read Note is_read status.
[627] Fix | Delete
*/
[628] Fix | Delete
public function set_is_read( $is_read ) {
[629] Fix | Delete
$this->set_prop( 'is_read', $is_read );
[630] Fix | Delete
}
[631] Fix | Delete
[632] Fix | Delete
/**
[633] Fix | Delete
* Add an action to the note
[634] Fix | Delete
*
[635] Fix | Delete
* @param string $name Action name (not presented to user).
[636] Fix | Delete
* @param string $label Action label (presented as button label).
[637] Fix | Delete
* @param string $url Action URL, if navigation needed. Optional.
[638] Fix | Delete
* @param string $status Status to transition parent Note to upon click. Defaults to 'actioned'.
[639] Fix | Delete
* @param boolean $primary Deprecated since version 3.4.0.
[640] Fix | Delete
* @param string $actioned_text The label to display after the note has been actioned but before it is dismissed in the UI.
[641] Fix | Delete
*/
[642] Fix | Delete
public function add_action(
[643] Fix | Delete
$name,
[644] Fix | Delete
$label,
[645] Fix | Delete
$url = '',
[646] Fix | Delete
$status = self::E_WC_ADMIN_NOTE_ACTIONED,
[647] Fix | Delete
$primary = false,
[648] Fix | Delete
$actioned_text = ''
[649] Fix | Delete
) {
[650] Fix | Delete
$name = wc_clean( $name );
[651] Fix | Delete
$label = wc_clean( $label );
[652] Fix | Delete
$query = esc_url_raw( $url );
[653] Fix | Delete
$status = wc_clean( $status );
[654] Fix | Delete
$actioned_text = wc_clean( $actioned_text );
[655] Fix | Delete
[656] Fix | Delete
if ( empty( $name ) ) {
[657] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note action name prop cannot be empty.', 'woocommerce' ) );
[658] Fix | Delete
}
[659] Fix | Delete
[660] Fix | Delete
if ( empty( $label ) ) {
[661] Fix | Delete
$this->error( 'admin_note_invalid_data', __( 'The admin note action label prop cannot be empty.', 'woocommerce' ) );
[662] Fix | Delete
}
[663] Fix | Delete
[664] Fix | Delete
$action = array(
[665] Fix | Delete
'name' => $name,
[666] Fix | Delete
'label' => $label,
[667] Fix | Delete
'query' => $query,
[668] Fix | Delete
'status' => $status,
[669] Fix | Delete
'actioned_text' => $actioned_text,
[670] Fix | Delete
'nonce_name' => null,
[671] Fix | Delete
'nonce_action' => null,
[672] Fix | Delete
);
[673] Fix | Delete
[674] Fix | Delete
$note_actions = $this->get_prop( 'actions', 'edit' );
[675] Fix | Delete
$note_actions[] = (object) $action;
[676] Fix | Delete
$this->set_prop( 'actions', $note_actions );
[677] Fix | Delete
}
[678] Fix | Delete
[679] Fix | Delete
/**
[680] Fix | Delete
* Set actions on a note.
[681] Fix | Delete
*
[682] Fix | Delete
* @param array $actions Note actions.
[683] Fix | Delete
*/
[684] Fix | Delete
public function set_actions( $actions ) {
[685] Fix | Delete
$this->set_prop( 'actions', $actions );
[686] Fix | Delete
}
[687] Fix | Delete
[688] Fix | Delete
/**
[689] Fix | Delete
* Add a nonce to an existing note action.
[690] Fix | Delete
*
[691] Fix | Delete
* @link https://codex.wordpress.org/WordPress_Nonces
[692] Fix | Delete
*
[693] Fix | Delete
* @param string $note_action_name Name of action to add a nonce to.
[694] Fix | Delete
* @param string $nonce_action The nonce action.
[695] Fix | Delete
* @param string $nonce_name The nonce Name. This is used as the parameter name in the resulting URL for the action.
[696] Fix | Delete
* @return void
[697] Fix | Delete
* @throws \Exception If note name cannot be found.
[698] Fix | Delete
*/
[699] Fix | Delete
public function add_nonce_to_action( string $note_action_name, string $nonce_action, string $nonce_name ) {
[700] Fix | Delete
$actions = $this->get_prop( 'actions', 'edit' );
[701] Fix | Delete
[702] Fix | Delete
$matching_action = null;
[703] Fix | Delete
foreach ( $actions as $i => $action ) {
[704] Fix | Delete
if ( $action->name === $note_action_name ) {
[705] Fix | Delete
$matching_action =& $actions[ $i ];
[706] Fix | Delete
}
[707] Fix | Delete
}
[708] Fix | Delete
[709] Fix | Delete
if ( empty( $matching_action ) ) {
[710] Fix | Delete
throw new \Exception( sprintf( 'Could not find action %s in note %s', $note_action_name, $this->get_name() ) );
[711] Fix | Delete
}
[712] Fix | Delete
[713] Fix | Delete
$matching_action->nonce_action = $nonce_action;
[714] Fix | Delete
$matching_action->nonce_name = $nonce_name;
[715] Fix | Delete
[716] Fix | Delete
$this->set_actions( $actions );
[717] Fix | Delete
}
[718] Fix | Delete
}
[719] Fix | Delete
[720] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function