<?php

Goweb::loadClass('Goweb_Setup');

/**
 * Goweb Sitemanager 5 Framework
 * @version    5.0.0
 * @category   Frontoffice
 * @package    Painel
 * @subpackage Setup
 * @author     I&D <dev@goweb.pt>, Pedro Pinto <ppinto@goweb.pt>
 * @copyright  2009 (c) Goweb (http://www.goweb.pt)
 *
 * As classes _Setup sao utilizadas para a criacao das tabelas
 * relativas aos Models dos Modulos.
 * Para cada Modulo existente no sistema existem ficheiros (Models)
 * que modelam a base de dados.
 * A partir destes Models que o Setup cria as tabelas referentes
 * aos modulos do sistema a ser instalado.
 * 
*/
class Painel_Setup extends Goweb_Setup {
    
    /**
     * Nome do modulo
     *
     * @var string
    */
    protected $_nome       = 'Painel';
    
    /**
     * Titulo do modulo
     *
     * @var string
    */
    protected $_titulo     = 'Painel de Controlo';
    
    /**
     * Modulo pertence ao menu do backoffice
     *
     * @var boolean
    */
    protected $_menu       = false;
    
    /**
     * Permitir inclusao de componentes
     *
     * @var boolean
    */
    protected $_componente = false;
    
    /**
     * Permitir pesquisa no modulo
     *
     * @var boolean
    */
    protected $_pesquisa   = false;

    /**
     * Modulo sujeito a permissoes de utilizadores
     *
     * @var boolean
    */
    protected $_permissao  = true;
    

    /**
     * Este metodo adiciona os Models necessarios ao
     * setup do modulo.
    */
    public function initModels() {
        $this->addModel('Painel_Model_Config');
    }


    /**
     * Este metodo faz uma inicializacao default dos dados necessaria
     * ao funcionamento do Modulo e/ou com intuito de
     * facilitar o Cliente.
    */
    public function initDefaultData() {
        $configModel = Goweb::getModelInstance('Painel_Model_Config', 'db');
        $config = Goweb::registry('config');
        $langs = explode(',', $config->languages->available);
        $configModel->google_sitemap = '';
        $configModel->google_analytics = '';
        $configModel->meta_copyright = '';
        $configModel->meta_keywords = '';
        $configModel->meta_description = '';
        $configModel->meta_extra = '';
        $configModel->linguas_activas = serialize($langs);
        $configModel->actualizado = date('Y-m-d H:i:s');
        $configModel->criado = date('Y-m-d H:i:s');
        $configModel->ip = $_SERVER['REMOTE_ADDR'];       
        $configModel->save();
    }
}