GIF89A;
Server : Microsoft-IIS/10.0 System : Windows NT HMW9050 6.2 build 9200 (Unknow Windows version Standard Edition) i586 User : fatorc ( 0) PHP Version : 5.3.28 Disable Function : escapeshellarg, escapeshellcmd, exec, passthru, proc_close, proc_open, shell_exec, system, dl, popen, php_check_syntax, php_strip_whitespace, symlink, link, openlog, apache_child_terminate Directory : e:/home/fatorc/Web/wp-content/plugins/types/application/models/information/ |
Upload File : |
<?php class Types_Information_Message { protected $id; protected $type = false; protected $conditions = array(); public $priority; public $title; public $description; /** * Type Set & Get * @param $type */ public function set_id( $id ) { $this->id = $id; } public function get_id() { return $this->id; } /** * Type Set & Get * @param $type */ public function set_type( $type ) { switch( $type ) { case 'information': case 'template': case 'archive': case 'views': case 'forms': case 'type': case 'fields': case 'taxonomies': $this->type = $type; break; } } public function get_type() { return $this->type; } /** * Use this to add multiple conditions at ounce. * * @param $conditions * * @return bool */ public function add_conditions( $conditions ) { if( $conditions === false ) return false; if( is_array( $conditions ) ) { foreach( $conditions as $condition ) { $condition = new $condition(); $this->add_condition( $condition ); } } else { $this->add_condition( $conditions ); } } /** * Add a condition to show the message. * * @param Types_Helper_Condition $condition * * @return bool */ public function add_condition( Types_Helper_Condition $condition ) { $this->conditions[] = $condition; return $this; } /** * Check if all assigned conditions match * * @return bool */ public function valid() { foreach( $this->conditions as $condition ) { if( ! $condition->valid() ) return false; } return true; } /** * Title Set & Get * @param $title */ public function set_title( $title ) { $this->title = $title; } public function get_title() { return $this->title; } /** * Description Set & Get * @param $description */ public function set_description( $description ) { if( !is_array( $description ) ) { $this->description = array( array( 'type' => 'paragraph', 'content' => $description ) ); return; } $on_post_edit_screen = isset( $_GET['post'] ) ? true : false; foreach( $description as &$element ) { // apply correct label if( isset( $element['label'] ) && is_array( $element['label'] ) && array_key_exists( 'default', $element['label'] ) && array_key_exists( 'post-edit', $element['label'] ) ) { $element['label'] = $on_post_edit_screen ? $element['label']['post-edit'] : $element['label']['default']; } } $this->description = $description; } public function get_description() { return $this->description; } /** * Import data * see /application/data/information * * @param array $data * * @return bool */ public function data_import( $data ) { if( ! is_array( $data ) ) return false; $default = array( 'id' => false, 'type' => false, 'conditions' => false, 'title' => false, 'description' => false, 'priority' => false ); $cfg = array_replace_recursive( $default, $data ); $this->set_id( $cfg['id'] ); $this->set_type( $cfg['type'] ); $this->add_conditions( $cfg['conditions'] ); $this->set_title( $cfg['title'] ); $this->set_description( $cfg['description'] ); $this->priority = $cfg['priority']; } /** * Add link, used for example, documentation and how to resolve links * * @param $target * @param $link * @param bool $in_array * false for $target = $link * true for $target[] = $link */ protected function add_link( &$target, $link, $in_array = false ) { if( isset( $link['label'] ) && isset( $link['link'] ) ) { $add = array( 'label' => $link['label'], 'link' => $link['link'] ); } elseif( isset( $link['label'] ) && isset( $link['dialog'] ) ) { $add = array( 'label' => $link['label'], 'dialog' => $link['dialog'] ); } elseif( count( $link, COUNT_RECURSIVE ) == 2 ) { $add = array( 'label' => $link[0], 'link' => $link[1] ); } if( isset( $link['class'] ) ) $add['class'] = $link['class']; if( isset( $add ) ) { if( $in_array ) { $target[] = $add; } else { $target = $add; } } } }