phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] phpgwapi/inc/class.portalbox.inc.php, 1.30


From: nomail
Subject: [Phpgroupware-cvs] phpgwapi/inc/class.portalbox.inc.php, 1.30
Date: Thu, 30 Dec 2004 07:47:31 +0100

Update of /phpgwapi/inc
Added Files:
        Branch: 
          class.portalbox.inc.php

date: 2004/12/30 06:47:31;  author: skwashd;  state: Exp;  lines: +88 -100

Log Message:
new HEAD
=====================================================================
<?php
        /**
        * Helps manage the portal boxes for phpGroupWares main page
        * @author Joseph Engo <address@hidden>
        * @copyright Copyright (C) 2000-2004 Free Software Foundation, Inc. 
http://www.fsf.org/
        * @license http://www.fsf.org/licenses/lgpl.html GNU Lesser General 
Public License
        * @package phpgwapi
        * @subpackage gui
        * @version $Id: class.portalbox.inc.php,v 1.30 2004/12/30 06:47:31 
skwashd Exp $
        */

        /**
        * Helps manage the portal boxes for phpGroupWares main page
        * 
        * @package phpgwapi
        * @subpackage gui
        */
        class portalbox
        {
                //Set up the Object, reserving memory space for variables

                var $outerwidth;
                var $outerbordercolor;
                var $outerborderwidth = 1;
                var $titlebgcolor;
                var $width;
                var $innerwidth;
                var $innerbgcolor;
                var $controls;
                var $header_background_image;
                var $classname;
                var $up;
                var $down;
                var $close;
                var $question;
                var $edit;
                
                var $data = Array();

                // Textual variables
                var $title;

                // Template
                var $p;

                /*
                Use these functions to get and set the values of this
                object's variables. This is good OO practice, as it means
                that datatype checking can be completed and errors raised 
accordingly.
                */
                function setvar($var,$value='')
                {
                        if ($value=='')
                        {
                                global $$var;
                                $value = $$var;
                        }
                        $this->$var = $value;
                        // echo $var." = ".$this->$var."<br>\n";
                }

                function getvar($var='')
                {
                        if ($var=='' || !isset($this->$var))
                        {
                                echo 'Programming Error: 
'.$this->getvar('classname').'->getvar('.$var.')!<br>'."\n";
                                $GLOBALS['phpgw']->common->phpgw_exit();
                        }
                        //echo "Var = ".$var."<br>\n";
                        //echo $var." = ".$this->$var."<br>\n";
                        return $this->$var;
                }

                /*
                This is the constructor for the object.
                */
                function portalbox($title='', $primary='', $secondary='', 
$tertiary='')
                {
                        $this->setvar('title',$title);
                        // echo 'After SetVar Title = 
'.$this->getvar('title')."<br>\n";
                        $this->setvar('titlebgcolor',$primary);
                        $this->setvar('innerbgcolor',$secondary);
                        $this->setvar('outerbordercolor',$tertiary);
                }

                function start_template()
                {
                        $this->p = 
CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('home'));
                        $this->p->set_file(
                                array(
                                        'PORTAL'        => 'portal.tpl'
                                )
                        );

                        $this->p->set_block('PORTAL','portal_box','portal_box');
                        $this->p->set_block('PORTAL','portal_row','portal_row');
                        
$this->p->set_block('PORTAL','portal_listbox_header','portal_listbox_header');
                        
$this->p->set_block('PORTAL','portal_listbox_link','portal_listbox_link');
                        
$this->p->set_block('PORTAL','portal_listbox_footer','portal_listbox_footer');
                        
$this->p->set_block('PORTAL','portal_control','portal_control');
                        $this->p->set_block('PORTAL','link_field','link_field');

                        $var = Array(
                                'outer_border'  => 
$this->getvar('outerborderwidth'),
                                'outer_width'   => $this->getvar('width'),
                                'outer_bordercolor'     => 
$this->getvar('outerbordercolor'),
                                'outer_bgcolor' => 
$this->getvar('titlebgcolor'),
                                'title' => $this->getvar('title'),
                                'inner_width'   => $this->getvar('width'),
                                'inner_bgcolor' => 
$this->getvar('innerbgcolor'),
                                'header_background_image'       => 
$this->getvar('header_background_image'),
                                'control_link'  => ''
                        );
                        $this->p->set_var($var);
                        $this->p->set_var('row','',False);
                }

                function set_controls($control='',$control_param='')
                {
                        if($control != '' && $control_param != '')
                        {
                                
$this->setvar($control,$GLOBALS['phpgw']->link($control_param['url'],'app='.$control_param['app'].'&control='.$control));
                        }
                }

                function set_internal($data='')
                {
                        if($data=='' && !count($this->data))
                        {
                                $data = '<td>&nbsp;</td>';
                        }
                        $this->p->set_var('output',$data);
                        $this->p->parse('row','portal_row',true);
                }

                function draw_box()
                {
                        $control = '';
                        if($this->up || $this->down || $this->close || 
$this->question || $this->edit)
                        {
                                $control_array = Array(
                                        'up',
                                        'down',
                                        'question',
                                        'close',
                                        'edit'
                                );
                                @reset($control_array);
                                while(list($key,$param) = each($control_array))
                                {
                                        if(isset($this->$param) && 
$this->$param)
                                        {
                                                $image_width = 15;
                                                if($param == 'edit')
                                                {
                                                        $image_width = 30;
                                                }
                                                
$this->p->set_var('link_field_data','<a href="'.$this->$param.'"><img 
src="'.$GLOBALS['phpgw']->common->image('phpgwapi',$param.'.button.gif').'" 
border="0" width="'.$image_width.'" height="15" alt="'.lang($param).'"></a>');
                                                
$this->p->parse('control_link','link_field',True);
                                        }
                                }
                                
$this->p->parse('portal_controls','portal_control',True);
                        }
                        return $this->p->fp('out','portal_box');
                }
        }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]