function WPEB_Init() { global $wpeb_positions, $wpeb_banners; if (class_exists('Wp_easy_data') && function_exists('WPEB_getRules') && function_exists('WPEB_getActiveRule')) { $opcoesParaPosicoes = WPEB_getRules(); $model_positions = array('fields' => array(array('name' => 'nome', 'display_name' => 'Nome', 'type' => 'textfield', 'list_display' => true, 'description' => 'Nome da posição (ex: Topo, Banners da esquerda)'), array('name' => 'tipo_rotacao', 'display_name' => 'Tipo de rotação', 'type' => 'select', 'values' => array('por tempo' => 'tempo', 'por carregamento' => 'carregamento'), 'list_display' => false, 'description' => 'Se houver mais de um banner nesta posição, como eles devem se intercalar?'), array('name' => 'tempo_rotacao', 'display_name' => 'Tempo de rotação', 'type' => 'textfield', 'list_display' => false, 'description' => 'Se o tipo de rotação for "por tempo". De quantos em quantos segundos os banners devem trocar?', 'default' => 0), array('name' => 'exibir_em', 'display_name' => 'Exibir em', 'type' => 'checkboxes', 'list_display' => true, 'description' => '', 'values' => $opcoesParaPosicoes, 'br' => true)), 'sortable' => true, 'tableName' => 'wpeb_positions', 'adminName' => 'Posições para os banners', 'topMenuName' => 'Banners'); $wpeb_positions = new Wp_easy_data($model_positions, __FILE__); $opcoesDaPosicao = array(); if (isset($_GET['positionID'])) { $current_position = $wpeb_positions->get_item((int) $_GET['positionID']); foreach ($current_position->fields as $field) { if ($field['name'] == 'exibir_em') { foreach ($field['values'] as $key => $value) { if (isset($current_position->info->exibir_em[$value])) { $opcoesDaPosicao[$key] = $value; } } continue; } } } // BANNERS $model_banner = array('fields' => array(array('name' => 'positionID', 'display_name' => '', 'type' => 'hiddenInt', 'list_display' => true, 'description' => '', 'value' => $_GET['positionID']), array('name' => 'nome', 'display_name' => 'Nome', 'type' => 'textfield', 'list_display' => true, 'description' => 'Nome para controle interno (ex: Banner da Padaria)'), array('name' => 'views', 'display_name' => 'Views', 'type' => 'hiddenInt', 'list_display' => true, 'description' => 'Numero de exibições', 'default' => 0), array('name' => 'clicks', 'display_name' => 'Clicks', 'type' => 'hiddenInt', 'list_display' => true, 'description' => 'Numero de cliques', 'default' => 0), array('name' => 'image', 'display_name' => 'Image', 'type' => 'file', 'list_display' => true, 'description' => 'Arquivo do banner: imagem (gif, jpg ou png) ou flash (swf)'), array('name' => 'link', 'display_name' => 'Link', 'type' => 'textfield', 'list_display' => false, 'description' => 'Link completo (com http) para onde o banner aponta'), array('name' => 'html', 'display_name' => 'HTML extra', 'type' => 'textfield', 'list_display' => false, 'description' => 'Use essa área para códigos HTML complementares, como pixel contadores'), array('name' => 'target', 'display_name' => 'Abrir:', 'type' => 'select', 'values' => array('Nova janela' => '_blank', 'Na mesma janela' => '_self'), 'default' => '_self', 'list_display' => false, 'description' => 'Quando clicado, abrir o destino em uma nova janela ou na mesma janela?'), array('name' => 'width', 'display_name' => 'Largura', 'type' => 'textfield', 'list_display' => false, 'description' => 'Em caso de arquivo SWF, é preciso informar a largura, em pixels'), array('name' => 'height', 'display_name' => 'Altura', 'type' => 'textfield', 'list_display' => false, 'description' => 'Em caso de arquivo SWF, é preciso informar a altura, em pixels'), array('name' => 'peso', 'display_name' => 'Peso', 'type' => 'textfield', 'list_display' => false, 'description' => 'Quando dividindo um mesmo local com outros banners, o peso definirá qual banner aparecerá mais vezes'), array('name' => 'data_expiracao', 'display_name' => 'Expiração por data', 'type' => 'date', 'list_display' => false, 'description' => 'A partir desta data, este banner não será mais exibido (deixe vazio para ilimitado)'), array('name' => 'clicks_expiracao', 'display_name' => 'Expiração por cliks', 'type' => 'textfield', 'list_display' => false, 'description' => 'Quando atingir este número de clicks este banner não será mais exibido (0 para ilimitado)'), array('name' => 'views_expiracao', 'display_name' => 'Expiração por visualizações', 'type' => 'textfield', 'list_display' => false, 'description' => 'Quando atingir este número de visualizações este banner não será mais exibido (0 para ilimitado)'), array('name' => 'ocultar_em', 'display_name' => 'Ocultar em', 'type' => 'checkboxes', 'list_display' => true, 'description' => '', 'values' => $opcoesDaPosicao, 'br' => true)), 'sortable' => true, 'tableName' => 'wpeb_banners', 'parent_menu' => __FILE__); $wpeb_banners = new Wp_easy_data($model_banner, __FILE__); add_filter('wp-easy-data-list', 'WPEB_FilterList'); $wpeb_banners->add_action('wp-easy-data-form-end', 'WPEB_PositionID'); } }
function exemplo_2() { $model_livros = array('fields' => array(array('name' => 'titulo', 'display_name' => 'Título', 'type' => 'textfield', 'list_display' => true, 'description' => 'Titulo do livro')), 'tableName' => 'livros', 'adminName' => 'Livros'); $model_autores = array('fields' => array(array('name' => 'nome', 'display_name' => 'Nome', 'type' => 'textfield', 'list_display' => true, 'description' => 'Nome do autor')), 'tableName' => 'autores', 'adminName' => 'Autores', 'parent_menu' => __FILE__); $model_pessoas = array('fields' => array(array('name' => 'nome', 'display_name' => 'Nome', 'type' => 'textfield', 'list_display' => true, 'description' => 'Nome da pessoa')), 'tableName' => 'pessoas', 'adminName' => 'Pessoas', 'parent_menu' => __FILE__); global $livros, $autores, $pessoas; $livros = new Wp_easy_data($model_livros, __FILE__); $autores = new Wp_easy_data($model_autores, __FILE__); $pessoas = new Wp_easy_data($model_pessoas, __FILE__); $livros->add_hasManyAndBelongsTo(&$autores, 'Autores', 'Autores do livro', false); $livros->add_belongsTo(&$pessoas, 'Dono', 'Dono do livro', true); }
function Bichos($model, $file = __FILE__) { parent::Wp_easy_data($model, __FILE__); $this->add_action('wp-easy-data-form-beggining', array(&$this, 'antes_do_form')); $this->add_action('wp-easy-data-table-newCol-title', array(&$this, 'nova_col_title')); $this->add_action('wp-easy-data-table-newCol-value', array(&$this, 'nova_col_value')); }