[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] old/wcm/inc/class.sopage.inc.php, 1.1
From: |
nomail |
Subject: |
[Phpgroupware-cvs] old/wcm/inc/class.sopage.inc.php, 1.1 |
Date: |
Thu, 30 Dec 2004 09:13:57 +0100 |
Update of /old/wcm/inc
Added Files:
Branch:
class.sopage.inc.php
date: 2004/12/30 08:13:57; author: skwashd; state: Exp;
Log Message:
keep historic record for wcm
=====================================================================
<?php
/**************************************************************************\
* phpGroupWare - WCM *
* http://www.phpgroupware.org *
* Written by Miles Lott <address@hidden> *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id: class.sopage.inc.php,v 1.1 2004/12/30 08:13:57 skwashd Exp $ */
class sopage
{
var $debug = False;
var $pageid = '';
var $page = array();
var $table = 'phpgw_wcm_pages';
function sopage()
{
}
function list_pages($data='',&$total)
{
if(is_array($data))
{
if($this->debug) { _debug_array($data); }
list($start,$sort,$order,$query,$limit,$simple)
= $data;
}
return
$this->get_list($start,$sort,$order,$query,$limit,$total,$simple);
}
function read($id,$full=False)
{
return $this->read_repository($id,$full);
}
function add($page_info)
{
return $this->create($page_info);
}
function update($page_info)
{
$this->page = $page_info;
$this->save_repository($page_info['page_id']);
return $this->read_repository($page_info['page_id']);
}
function delete($id)
{
return $this->delete($id);
}
function read_repository($pageid='',$full=False)
{
$this->page = array();
if(!$pageid)
{
$pageid = $this->pageid;
}
$sql = "SELECT * FROM $this->table WHERE page_id=" .
intval($pageid);
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
if($GLOBALS['phpgw']->db->next_record())
{
$this->page['page_id'] =
$GLOBALS['phpgw']->db->f('page_id');
$this->page['page_name'] =
stripslashes($GLOBALS['phpgw']->db->f('page_name'));
$this->page['page_title'] =
stripslashes($GLOBALS['phpgw']->db->f('page_title'));
$this->page['page_url'] =
$GLOBALS['phpgw']->db->f('page_url');
$tmp =
unserialize($GLOBALS['phpgw']->db->f('page_elements'));
$this->page['page_elements'] = $tmp ? $tmp :
array();
$this->page['page_header'] =
$GLOBALS['phpgw']->db->f('page_header');
$this->page['page_footer'] =
$GLOBALS['phpgw']->db->f('page_footer');
$this->page['page_version'] =
$GLOBALS['phpgw']->db->f('page_version');
$this->page['page_expire'] =
$GLOBALS['phpgw']->db->f('page_expire');
$this->page['page_bgcolor'] =
$GLOBALS['phpgw']->db->f('page_bgcolor');
}
if($full)
{
$elements = CreateObject('wcm.soelement');
$new = array();
while(list($key,$value) =
@each($this->page['page_elements']))
{
if(is_array($value))
{
while(list(,$subval) =
each($value))
{
$new[$key][] =
$elements->read_repository($subval,True);
}
}
else
{
$new[$key] = $value;
}
}
$this->page['page_elements'] = $new;
}
return $this->page;
}
function save_repository($pageid='')
{
if(!$pageid)
{
$pageid = $this->pageid;
}
if($pageid && is_array($this->page))
{
$tmp = is_array($this->page['page_elements']) ?
serialize($this->page['page_elements']) : serialize(array('none'));
$sql = "UPDATE $this->table SET "
. "page_name='" .
$GLOBALS['phpgw']->db->db_addslashes($this->page['page_name']) . "',"
. "page_title='" .
$GLOBALS['phpgw']->db->db_addslashes($this->page['page_title']) . "',"
. "page_url='" .
$this->page['page_url'] . "',"
. "page_elements='" . $tmp . "',"
. "page_header='" .
$this->page['page_header'] . "',"
. "page_footer='" .
$this->page['page_footer'] . "',"
. "page_left=" .
intval($this->page['page_left']) . ","
. "page_mid=" .
intval($this->page['page_mid']) . ","
. "page_right=" .
intval($this->page['page_right']) . ","
. "page_version='" .
$this->page['page_version'] . "',"
. "page_expire='" .
intval($this->page['page_expire']) . "',"
. "page_bgcolor='" .
$this->page['page_bgcolor'] . "'"
. " WHERE page_id=" . intval($pageid);
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
return $pageid;
}
return False;
}
function create($page_info='')
{
if(!is_array($page_info))
{
return False;
}
$tmp = is_array($page_info['page_elements']) ?
serialize($page_info['page_elements']) : serialize(array('none'));
$sql = "INSERT INTO $this->table
(page_name,page_title,page_url,page_elements,"
.
"page_header,page_footer,page_left,page_mid,page_right,page_version,page_expire,page_bgcolor)
VALUES('"
.
$GLOBALS['phpgw']->db->db_addslashes($page_info['page_name']) . "','"
.
$GLOBALS['phpgw']->db->db_addslashes($page_info['page_title']) . "','"
. $page_info['page_url'] . "','" . $tmp .
"','"
. $page_info['page_header'] . "','" .
$page_info['page_footer'] . "',"
. intval($page_info['page_left']) . ","
. intval($page_info['page_mid']) . ","
. intval($page_info['page_right']) . ",'"
. $page_info['page_version'] . "','"
. intval($page_info['page_expire']) . "','"
. $page_info['page_bgcolor'] . "')";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
$sql = "SELECT page_id FROM $this->table WHERE
page_name='" . $page_info['page_name'] . "'";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
if($GLOBALS['phpgw']->db->next_record())
{
$page_info['page_id'] =
$GLOBALS['phpgw']->db->f(0);
$this->pageid = $page_info['page_id'];
$this->page = $page_info;
return $this->pageid;
}
return False;
}
function delete($pageid='')
{
if(!$pageid)
{
$pageid = $this->pageid;
}
if($pageid)
{
$sql = "DELETE FROM $this->table WHERE
page_id=$pageid";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
return True;
}
return False;
}
function
get_list($start='',$sort='',$order='',$query='',$limit='',&$total,$simple=False)
{
$this->pages = array();
if (!$sort)
{
$sort = 'DESC';
}
if ($query)
{
$whereclause = "WHERE page_name LIKE '%$query%'"
. " OR page_title LIKE '%$query%'"
. " OR page_url LIKE '%$query%'";
}
if ($order)
{
$orderclause = 'ORDER BY ' . $order . ' ' .
$sort;
}
else
{
$orderclause = 'ORDER BY page_name ASC';
}
$sql = "SELECT * FROM $this->table $whereclause
$orderclause";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
while ($GLOBALS['phpgw']->db->next_record())
{
if($simple)
{
$this->pages[$GLOBALS['phpgw']->db->f('page_id')] =
$GLOBALS['phpgw']->db->f('page_name') . ' - ' .
$GLOBALS['phpgw']->db->f('page_url');
}
else
{
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_id'] =
$GLOBALS['phpgw']->db->f('page_id');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_name'] =
stripslashes($GLOBALS['phpgw']->db->f('page_name'));
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_title'] =
stripslashes($GLOBALS['phpgw']->db->f('page_title'));
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_url'] =
$GLOBALS['phpgw']->db->f('page_url');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_elements'] =
$GLOBALS['phpgw']->db->f('page_elements');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_header'] =
$GLOBALS['phpgw']->db->f('page_header');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_footer'] =
$GLOBALS['phpgw']->db->f('page_footer');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_version'] =
$GLOBALS['phpgw']->db->f('page_version');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_left'] =
$GLOBALS['phpgw']->db->f('page_left');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_mid'] =
$GLOBALS['phpgw']->db->f('page_mid');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_right'] =
$GLOBALS['phpgw']->db->f('page_right');
$this->pages[$GLOBALS['phpgw']->db->f('page_name')]['page_bgcolor'] =
$GLOBALS['phpgw']->db->f('page_bgcolor');
}
}
$this->total = $GLOBALS['phpgw']->db->num_rows();
$total = $this->total;
return $this->pages;
}
function formatted_list($page_id=0,$java=False,$local=False)
{
if ($java)
{
$jselect = ' onChange="this.form.submit();"';
}
$select = "\n" .'<select name="page_id"' . $jselect .
">\n";
$select .= '<option value="0"';
if(!$page_id)
{
$select .= ' selected';
}
$selectlang = $local ? lang('Local') : lang('Please
Select');
$select .= '>' . $selectlang . '</option>'."\n";
$x = '';
$slist = $this->get_list('','','','','',$x);
while (list($key,$val) = each($slist))
{
$foundpages = True;
$select .= '<option value="' . $val['page_id']
. '"';
if ($val['page_id'] == $page_id)
{
$select .= ' selected';
}
$select .= '>' . $val['page_name'] .
'</option>'."\n";
}
$select .= '</select>'."\n";
$select .= '<noscript><input type="submit"
name="page_id_select" value="' . lang('Select') . '"></noscript>' . "\n";
if(!$foundpages)
{
$select = '';
}
return $select;
}
function name2id($page_name='')
{
if(!$page_name)
{
$page_name = $this->page['page_name'];
}
if($page_name)
{
$sql = "SELECT page_id FROM $this->table WHERE
page_name='$page_name'";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
if($GLOBALS['phpgw']->db->next_record())
{
$pageid = $GLOBALS['phpgw']->db->f(0);
return $pageid;
}
}
return False;
}
function id2name($pageid='')
{
if(!$pageid)
{
$pageid = $this->pageid;
}
if($pageid)
{
$sql = "SELECT page_name FROM $this->table
WHERE page_id=$pageid";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
if($GLOBALS['phpgw']->db->next_record())
{
$page_name =
$GLOBALS['phpgw']->db->f(0);
return $page_name;
}
}
return False;
}
function exists($pagedata='')
{
if(!$pagedata)
{
return False;
}
if(is_int($pagedata))
{
$pageid = $pagedata;
settype($page_name,'string');
$page_name = $this->id2name($pageid);
}
else
{
$page_name = $pagedata;
}
$sql = "SELECT page_id FROM $this->table WHERE
page_name='$page_name'";
$GLOBALS['phpgw']->db->query($sql,__LINE__,__FILE__);
if($GLOBALS['phpgw']->db->next_record())
{
return True;
}
return False;
}
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] old/wcm/inc/class.sopage.inc.php, 1.1,
nomail <=