mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-07 16:44:07 +01:00
updated docs from gnrfan
This commit is contained in:
parent
5739888964
commit
a558326b67
@ -8,11 +8,14 @@ CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="About"
|
||||
HREF="p731.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE=" API documentation"
|
||||
HREF="apidocs.html"></HEAD
|
||||
TITLE="About"
|
||||
HREF="p731.html"></HEAD
|
||||
><BODY
|
||||
CLASS="PART"
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
@ -32,7 +35,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="apidocs.html"
|
||||
HREF="p731.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -51,20 +54,49 @@ VALIGN="bottom"
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN331"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
>VII. About this document</H1
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN333"
|
||||
></A
|
||||
NAME="ABOUT"
|
||||
>Chapter 29. About this document</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="about.html#AEN737"
|
||||
>New versions</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="about.html#AEN742"
|
||||
>Comments</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="about.html#AEN750"
|
||||
>History</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="about.html#AEN753"
|
||||
>Version History</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN737"
|
||||
>New versions</A
|
||||
></H4
|
||||
><P
|
||||
> The newest version of this document can be found on our website <A
|
||||
HREF="http://www.phpgroupware.org"
|
||||
@ -76,12 +108,13 @@ CLASS="CITETITLE"
|
||||
>
|
||||
as SGML source, HTML, or TEXT.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN337"
|
||||
NAME="AEN742"
|
||||
>Comments</A
|
||||
></H4
|
||||
><P
|
||||
@ -111,7 +144,7 @@ CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN345"
|
||||
NAME="AEN750"
|
||||
>History</A
|
||||
></H4
|
||||
><P
|
||||
@ -123,7 +156,7 @@ CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN348"
|
||||
NAME="AEN753"
|
||||
>Version History</A
|
||||
></H4
|
||||
><P
|
||||
@ -209,8 +242,6 @@ STYLE="list-style-type: disc"
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
@ -226,7 +257,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="apidocs.html"
|
||||
HREF="p731.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -248,12 +279,15 @@ VALIGN="top"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>API documentation</TD
|
||||
>About</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><A
|
||||
HREF="p731.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
@ -1,138 +0,0 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>A short History</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Introduction"
|
||||
HREF="p21.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Why should you use it"
|
||||
HREF="why.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Copyright"
|
||||
HREF="copyright.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="why.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="APPHIS"
|
||||
>Chapter 3. A short History</A
|
||||
></H1
|
||||
><P
|
||||
> phpGroupWare started by Jengo (Joseph Engo) as an application to satisfy his girlfriends need for a webbased calendar/todo_list/email.
|
||||
At the time it was called webdistro when Seek3r (Dan Kuykendall) discovered this promising project.
|
||||
The two joined up together and between Seek3r's API design and Jengo's programming skills they renamed the project phpGroupWare and started building the application around the phpgwAPI.
|
||||
</P
|
||||
><P
|
||||
> During this period Seek3r took over project management to free Jengo up to do more development.
|
||||
This duo worked hard to build a sucessful community around the project. Their efforts paid off, and the project is what it is today due to the efforts of the developers who have joined this community.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="why.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Why should you use it</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p21.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Copyright</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
@ -1,7 +1,7 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Developing Add-On Apps</TITLE
|
||||
>About developers docs</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
@ -10,15 +10,15 @@ TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p312.html"><LINK
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p312.html"><LINK
|
||||
TITLE="Using Templates"
|
||||
HREF="devtemp.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="add your topic seek"
|
||||
HREF="etc.html"></HEAD
|
||||
TITLE="About"
|
||||
HREF="p731.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
CLASS="ARTICLE"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
@ -38,7 +38,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="p312.html"
|
||||
HREF="devtemp.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -51,7 +51,7 @@ WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="etc.html"
|
||||
HREF="p731.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -60,12 +60,16 @@ HREF="etc.html"
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
CLASS="ARTICLE"
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="DEVADDAPP"
|
||||
>Chapter 22. Developing Add-On Apps</A
|
||||
NAME="DEVABOUT"
|
||||
>About developers docs</A
|
||||
></H1
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
@ -75,28 +79,39 @@ CLASS="TOC"
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devaddapp.html#REQUIRDEV"
|
||||
>Requirements</A
|
||||
HREF="devabout.html#AEN725"
|
||||
>About this document</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="etc.html"
|
||||
>add your topic seek</A
|
||||
HREF="devabout.html#AEN728"
|
||||
>History</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><P
|
||||
>text for developin add on apps (seek its your area)</P
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="REQUIRDEV"
|
||||
>Requirements</A
|
||||
></H1
|
||||
NAME="AEN725"
|
||||
>About this document</A
|
||||
></H4
|
||||
><P
|
||||
> text for requirements
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN728"
|
||||
>History</A
|
||||
></H4
|
||||
><P
|
||||
> This document was written by Dan Kuykendall.
|
||||
|
||||
2000-09-25 documentation on lang(), codes, administration and preferences extension added by Steve Brown.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
@ -115,7 +130,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p312.html"
|
||||
HREF="devtemp.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -131,7 +146,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="etc.html"
|
||||
HREF="p731.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -140,20 +155,20 @@ HREF="etc.html"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Developers Documentation</TD
|
||||
>Using Templates</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p312.html"
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>add your topic seek</TD
|
||||
>About</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
197
doc/html/devapi.html
Normal file
197
doc/html/devapi.html
Normal file
@ -0,0 +1,197 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>The API</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Infrastructure"
|
||||
HREF="devinfra.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Basic functions"
|
||||
HREF="x398.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devinfra.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x398.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVAPI"
|
||||
>Chapter 25. The API</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devapi.html#AEN389"
|
||||
>Introduction</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="x398.html"
|
||||
>Basic functions</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="x407.html"
|
||||
>Application Functions</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="x434.html"
|
||||
>File functions</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="x471.html"
|
||||
>Email/NNTP Functions</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN389"
|
||||
>Introduction</A
|
||||
></H1
|
||||
><P
|
||||
> phpGroupWare attempts to provide developers with a useful API to handle common tasks.
|
||||
</P
|
||||
><P
|
||||
> To do this we have created a multi-dimensional class $phpgw->.
|
||||
</P
|
||||
><P
|
||||
> This allows for terrific code organization, and help developers easily identify
|
||||
the file that the function is in. All the files that are part of this class are in the
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>inc/core</TT
|
||||
> directory
|
||||
and are named to match the sub-class.
|
||||
</P
|
||||
><P
|
||||
> Example:<TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->send->msg()</TT
|
||||
> is in the
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>inc/phpgwapi/phpgw_send.inc.php</TT
|
||||
> file.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devinfra.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x398.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Infrastructure</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Basic functions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
763
doc/html/devconfvar.html
Normal file
763
doc/html/devconfvar.html
Normal file
@ -0,0 +1,763 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Configuration Variables</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Email/NNTP Functions"
|
||||
HREF="x471.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Using Language Support"
|
||||
HREF="devlangsup.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x471.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devlangsup.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVCONFVAR"
|
||||
>Chapter 26. Configuration Variables</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN482"
|
||||
>Introduction</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN488"
|
||||
>User information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN526"
|
||||
>Group information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN530"
|
||||
>Server information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN562"
|
||||
>Database information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN577"
|
||||
>Mail information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN598"
|
||||
>NNTP information</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devconfvar.html#AEN612"
|
||||
>Application information</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN482"
|
||||
>Introduction</A
|
||||
></H4
|
||||
><P
|
||||
> phpGroupWare attempt to provide developers with as much information about the user, group,
|
||||
server, and application configuration as possible. To do this we provide a multi-dimensional
|
||||
array called <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info[]</TT
|
||||
>, which includes all the information about
|
||||
your environment.Due to the multi-dimensional array approach. getting these values is easy.
|
||||
</P
|
||||
><P
|
||||
> Here are some examples:
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><?php
|
||||
// To do a hello username
|
||||
echo "Hello " . $phpgw_info["user"]["fullname"];
|
||||
//If username first name is John and last name is Doe, prints: 'Hello John Doe'
|
||||
?>
|
||||
<?php
|
||||
// To find out the location of the imap server
|
||||
echo "IMAP Server is named: " . $phpgw_info["server"]["imap_server"];
|
||||
//If imap is running on localhost, prints: 'IMAP Server is named: localhost'
|
||||
?></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN488"
|
||||
>User information</A
|
||||
></H4
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["userid"] = </TT
|
||||
>The user ID</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["sessionid"] = </TT
|
||||
>The session ID</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["theme"] = </TT
|
||||
>Selected theme</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["private_dir"] = </TT
|
||||
>Users private dir. Use phpGroupWare core functions for access to the files.</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["firstname"] = </TT
|
||||
>Users first name</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["lastname"] = </TT
|
||||
>Users last name </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["fullname"] = </TT
|
||||
>Users Full Name </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["groups"] = </TT
|
||||
>Groups the user is a member of </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["app_perms"] = </TT
|
||||
>If the user has access to the current application </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["lastlogin"] = </TT
|
||||
>Last time the user logged in. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["lastloginfrom"] = </TT
|
||||
>Where they logged in from the last time. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["lastpasswd_change"] = </TT
|
||||
>Last time they changed their password. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["passwd"] = </TT
|
||||
>Hashed password. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["status"] = </TT
|
||||
>If the user is enabled. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["logintime"] = </TT
|
||||
>Time they logged into their current session. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["session_dla"] = </TT
|
||||
>Last time they did anything in their current session </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["user"]["session_ip"] = </TT
|
||||
>Current IP address </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN526"
|
||||
>Group information</A
|
||||
></H4
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["group"]["group_names"] = </TT
|
||||
>List of groups.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN530"
|
||||
>Server information</A
|
||||
></H4
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["server_root"] = </TT
|
||||
>Main installation directory </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["include_root"] = </TT
|
||||
>Location of the '<TT
|
||||
CLASS="CLASSNAME"
|
||||
>inc</TT
|
||||
>' directory. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["temp_dir"] = </TT
|
||||
>Directory that can be used for temporarily storing files </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["files_dir"] = </TT
|
||||
>Directory er and group files are stored </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["common_include_dir"] = </TT
|
||||
>Location of the core/shared include files. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["template_dir"] = </TT
|
||||
>Active template files directory. This is defaulted by the server, and changeable by the user. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["dir_separator"] = </TT
|
||||
>Allows compatibility with WindowsNT directory format, </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["encrpytkey"] = </TT
|
||||
>Key used for encryption functions </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["site_title"] = </TT
|
||||
>Site Title will show in the title bar of each webpage. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["webserver_url"] = </TT
|
||||
>URL to phpGroupWare installation. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["hostname"] = </TT
|
||||
>Name of the server phpGroupWare is installed upon. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["charset"] = </TT
|
||||
>default charset, default:<TT
|
||||
CLASS="CLASSNAME"
|
||||
>iso-8859-1</TT
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["version"] = </TT
|
||||
>phpGroupWare version. </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN562"
|
||||
>Database information</A
|
||||
></H4
|
||||
><P
|
||||
> It is unlikely you will need these, because <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info_db</TT
|
||||
> will already be loaded as a database for you to use.
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["db_host"] = </TT
|
||||
>Address of the database server. Usually this is set to localhost. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["db_name"] = </TT
|
||||
>Database name. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["db_user"] = </TT
|
||||
>User name. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["db_pass"] = </TT
|
||||
>Password </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["db_type"] = </TT
|
||||
>Type of database. Currently MySQL and PostgreSQL are supported. </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN577"
|
||||
>Mail information</A
|
||||
></H4
|
||||
><P
|
||||
> It is unlikely you will need these, because most email needs are services thru core phpGroupWare functions.
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["mail_server"] = </TT
|
||||
>Address of the IMAP server. Usually this is set to localhost. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["mail_server_type"] = </TT
|
||||
>IMAP or POP3 </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["imap_server_type"] = </TT
|
||||
>Cyrus or Uwash </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["imap_port"] = </TT
|
||||
>This is usually 143, and should only be changed if there is a good reason. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["mail_suffix] = </TT
|
||||
>This is the domain name, used to add to email address </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["mail_login_type"] = </TT
|
||||
>This adds support for VMailMgr. Generally this should be set to '<TT
|
||||
CLASS="CLASSNAME"
|
||||
>standard</TT
|
||||
>'. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["smtp_server"] = </TT
|
||||
>Address of the SMTP server. Usually this is set to localhost. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["smtp_port"] = </TT
|
||||
>This is usually 25, and should only be changed if there is a good reason. </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN598"
|
||||
>NNTP information</A
|
||||
></H4
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["nntp_server"] = </TT
|
||||
>Address of the NNTP server. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["nntp_port"] = </TT
|
||||
>This is usually XX, and should only be changed if there is a good reason. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["nntp_sender"] = </TT
|
||||
>Unknown </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["nntp_organization"] = </TT
|
||||
>Unknown </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["nntp_admin"] = </TT
|
||||
>Unknown </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN612"
|
||||
>Application information</A
|
||||
></H4
|
||||
><P
|
||||
> Each application has the following information available.
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["apps"]["appname"]["title"] = </TT
|
||||
>The title of the application. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["apps"]["appname"]["enabled"] = </TT
|
||||
>If the application is enabled. True or False. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["app_include_dir"] = </TT
|
||||
>Location of the current application include files. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["app_template_dir"] = </TT
|
||||
>Location of the current application tpl files. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["app_lang_dir"] = </TT
|
||||
>Location of the current lang directory. </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["app_auth"] = </TT
|
||||
>If the server and current user have access to current application </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_info["server"]["app_current"] = </TT
|
||||
>name of the current application. </TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x471.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devlangsup.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Email/NNTP Functions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Using Language Support</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
299
doc/html/devguid.html
Normal file
299
doc/html/devguid.html
Normal file
@ -0,0 +1,299 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Guidelines</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Introduction"
|
||||
HREF="devintro.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Installing your application"
|
||||
HREF="devinstall.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devintro.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devinstall.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVGUID"
|
||||
>Chapter 22. Guidelines</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devguid.html#AEN277"
|
||||
>Requirements</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devguid.html#AEN300"
|
||||
>Writing/porting your application</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN277"
|
||||
>Requirements</A
|
||||
></H4
|
||||
><P
|
||||
> These guidelines must be followed for any application that wants
|
||||
considered for inclusion into phpGroupWare deluxe.
|
||||
</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must run on PHP3 and PHP4. </P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>SQL statements must be compatible with both MySQL
|
||||
and PostgreSQL.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must use our default header.inc.php include.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must use our <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw_link($url)</TT
|
||||
> for all links
|
||||
(this is for session support).</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must use "post" for forms.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must respect phpGW group rights and phpGW user permissions.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>It must use our directory structure, template support and lang
|
||||
(multi-language) support.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Where possible it should run on both Unix and NT platforms.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> For applications that do not meet these requirements, they can be
|
||||
available to users via the phpGroupWare Apps project, or whatever
|
||||
means the developers decide.If you need help converting your
|
||||
application to templates and our lang support, we will try to
|
||||
connect you with someone to help.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN300"
|
||||
>Writing/porting your application</A
|
||||
></H4
|
||||
><P
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>Include files</I
|
||||
></P
|
||||
><P
|
||||
> Each PHP page you write will need to include the header.inc.php along
|
||||
with a few variables.This is done by putting this at the top of each PHP page.
|
||||
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><?php
|
||||
$phpgw_info["flags"]["currentapp"] = "appname";
|
||||
include("../header.inc.php");
|
||||
?>
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Of course change application name to fit.
|
||||
This include will provide the following things:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The phpgwAPI - The phpGroupWare API will be loaded.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The phpGW navbar will be loaded (by default, but can be disabled until a later point.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>appname/inc/functions.inc.php - This file is loaded just after the phpgwAPI
|
||||
and before any HTML code is generated. This file should include all your application
|
||||
specific functions..You are welcome to include any additional files you need from within
|
||||
this file. </P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>appname/inc/header.inc.php - This file is loaded just after the system header/navbar,
|
||||
and allows developers to use it for whatever they need to load.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>appname/inc/footer.inc.php - This file is loaded just before the system footer,
|
||||
allowing developers to close connections and whatever else they need.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The phpGW footer will be loaded, which closes several connections.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devintro.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devinstall.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Introduction</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Installing your application</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
295
doc/html/devinfra.html
Normal file
295
doc/html/devinfra.html
Normal file
@ -0,0 +1,295 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Infrastructure</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Installing your application"
|
||||
HREF="devinstall.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devinstall.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVINFRA"
|
||||
>Chapter 24. Infrastructure</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinfra.html#AEN377"
|
||||
>Overview</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinfra.html#AEN380"
|
||||
>Directory tree</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinfra.html#AEN384"
|
||||
>Translations</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN377"
|
||||
>Overview</A
|
||||
></H4
|
||||
><P
|
||||
> phpGroupWare attempts to provide developers with a sound directory
|
||||
structure to work from. The directory layout may seem complex at first,
|
||||
but after some use, you will see that it is designed to accommodate a
|
||||
large number of applications and functions.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN380"
|
||||
>Directory tree</A
|
||||
></H4
|
||||
><P
|
||||
> <TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>.-- addressbook
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | `-- footer.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- admin
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | `-- admin.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- calendar
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | `-- footer.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- cron
|
||||
|-- doc
|
||||
|-- email
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | |-- preferences.inc.php
|
||||
| | `-- admin.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- filemanager
|
||||
|-- files
|
||||
| |-- groups
|
||||
| `-- users
|
||||
|-- inc
|
||||
| |-- phpgwapi
|
||||
| | |-- phpgw.inc.php
|
||||
| | |-- phpgw_info.inc.php
|
||||
| | |-- phpgw_common.inc.php
|
||||
| | `-- etc...
|
||||
| `-- templates
|
||||
| |-- default
|
||||
| | |-- addressbook
|
||||
| | |-- admin
|
||||
| | |-- calendar
|
||||
| | |-- common
|
||||
| | |-- email
|
||||
| | |-- filemanager
|
||||
| | |-- headlines
|
||||
| | |-- preferences
|
||||
| | |-- todo
|
||||
| | `-- tts
|
||||
| `-- icons
|
||||
| |-- email
|
||||
| |-- calendar
|
||||
| `-- tts
|
||||
|-- preferences
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | `-- preferences.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- themes
|
||||
`-- todo
|
||||
`-- images
|
||||
| `-- navbar.gif
|
||||
`-- inc
|
||||
| |-- functions.inc.php
|
||||
| |-- header.inc.php
|
||||
| `-- footer.inc.php
|
||||
`-- templates
|
||||
`-- default
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN384"
|
||||
>Translations</A
|
||||
></H4
|
||||
><P
|
||||
> The translations are now being done thru the database, and will be configurable
|
||||
to use other mechanisms.We are completing a program called Transy, which will
|
||||
provide developers/translators a nice GUI for building and updating translations.
|
||||
In the mean time you will need to create a SQL script yourself and name it lang.sql.
|
||||
You can copy the one in doc/lang.sql and use it as a template.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devinstall.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Installing your application</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>The API</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
436
doc/html/devinstall.html
Normal file
436
doc/html/devinstall.html
Normal file
@ -0,0 +1,436 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Installing your application</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Guidelines"
|
||||
HREF="devguid.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Infrastructure"
|
||||
HREF="devinfra.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devguid.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devinfra.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVINSTALL"
|
||||
>Chapter 23. Installing your application</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN321"
|
||||
>Overview</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN324"
|
||||
>Automatic features</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN339"
|
||||
>Adding files, directories and icons.</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN343"
|
||||
>Making phpGroupWare aware of your application</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN347"
|
||||
>Hooking into Administration page</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN359"
|
||||
>section_start</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN366"
|
||||
>section_end</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devinstall.html#AEN370"
|
||||
>Hooking into Preferences page</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN321"
|
||||
>Overview</A
|
||||
></H4
|
||||
><P
|
||||
>It is fairly simple to add and delete applications to/from phpGroupWare.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN324"
|
||||
>Automatic features</A
|
||||
></H4
|
||||
><P
|
||||
> To make things easy for developers we go ahead and load the following files.
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> <TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/functions.inc.php</TT
|
||||
> - This file should include
|
||||
all your application specific functions.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/header.inc.php</TT
|
||||
> - This file is loaded by
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->common->header</TT
|
||||
> just after the system header/navbar,
|
||||
and allows developers to use it for whatever they need to load.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/footer.inc.php</TT
|
||||
> - This file is loaded by
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->common->footer</TT
|
||||
> just before the system footer,
|
||||
allowing developers to close connections and whatever else they need.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN339"
|
||||
>Adding files, directories and icons.</A
|
||||
></H4
|
||||
><P
|
||||
> You will need to create the following directories for your code
|
||||
(replace 'appname' with your application name)
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> `-- appname
|
||||
`-- images
|
||||
| `-- navbar.gif
|
||||
`-- inc
|
||||
| |-- functions.inc.php
|
||||
| |-- header.inc.php
|
||||
| |-- footer.inc.php
|
||||
| |-- preferences.inc.php
|
||||
| `-- admin.inc.php
|
||||
`-- templates
|
||||
`-- default
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN343"
|
||||
>Making phpGroupWare aware of your application</A
|
||||
></H4
|
||||
><P
|
||||
> To make the application aware of your application, add your application details to the applications table. This can be done via the GUI administration screen, or via a SQL script.
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> insert into applications (app_name, app_title, app_enabled) values ('appname', 'The App name', 1);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN347"
|
||||
>Hooking into Administration page</A
|
||||
></H4
|
||||
><P
|
||||
> When a user goes to the Administration page, it stats appname/inc/admin.inc.php
|
||||
for each application that is enabled, in alphabetical order of application title.
|
||||
If the file exists, it is include()d in the hopes it will display a selection of
|
||||
links to configure that application.
|
||||
|
||||
Simple Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><?php
|
||||
$img = "/" . $appname . "/images/navbar.gif";
|
||||
section_start("My Application",$img);
|
||||
echo "<a HREF=\"" . $phpgw->link("myAdminPage.php") . "\">";
|
||||
echo lang("Change myApp settings") . "</a>";
|
||||
section_end();
|
||||
?>
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Look at headlines/inc/admin.inc.php and admin/inc/admin.inc.php for more examples.
|
||||
|
||||
Things to note:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Links are relative to the <TT
|
||||
CLASS="FILENAME"
|
||||
>admin/index.php</TT
|
||||
> file, not your
|
||||
application's base directory. (so use <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$appname</TT
|
||||
> in your
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>link()</TT
|
||||
> calls)</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The file is brought in with include() so be careful to not pollute the name-space
|
||||
too much</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
The standard $phpgw and $phpgw_info variables are in-scope, as is $appname
|
||||
which corresponds to the application name in the path.
|
||||
|
||||
There are 2 functions to coordinate the display of each application's links,
|
||||
section_start() and section_end()
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN359"
|
||||
>section_start</A
|
||||
></H4
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>section_start($title,$icon_url)</TT
|
||||
>
|
||||
starts the section for your application. <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$title</TT
|
||||
> is passed through
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang()</TT
|
||||
>
|
||||
for you. <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$icon_url</TT
|
||||
> should be page-relative to admin/index.php or
|
||||
an absolute URL.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN366"
|
||||
>section_end</A
|
||||
></H4
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>section_end()</TT
|
||||
> closes the section that was started with section_start().
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN370"
|
||||
>Hooking into Preferences page</A
|
||||
></H4
|
||||
><P
|
||||
> The mechanism to hook into the preferences page is identical to the one used to
|
||||
hook into the administration page, however it looks for
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/preferences.inc.php</TT
|
||||
> instead of
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/admin.inc.php</TT
|
||||
>. The same functions and variables are defined.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devguid.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devinfra.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Guidelines</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Infrastructure</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
185
doc/html/devintro.html
Normal file
185
doc/html/devintro.html
Normal file
@ -0,0 +1,185 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Introduction</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Guidelines"
|
||||
HREF="devguid.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devguid.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVINTRO"
|
||||
>Chapter 21. Introduction</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devintro.html#AEN269"
|
||||
>Overview of application writing</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devintro.html#AEN272"
|
||||
>What does the phpGroupWare API provide?</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><P
|
||||
> phpGroupWare is a web based groupware application framework (API),
|
||||
for writing applications. Integrated applications such as email,
|
||||
calendar, todo list, address book, and file manager are included.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN269"
|
||||
>Overview of application writing</A
|
||||
></H4
|
||||
><P
|
||||
> We have attempted to make writing application for phpGroupWare as
|
||||
painless as possible. We hope any pain and suffering is cause by making
|
||||
your application work, but not dealing with phpGroupWare itself.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN272"
|
||||
>What does the phpGroupWare API provide?</A
|
||||
></H4
|
||||
><P
|
||||
> The phpGroupWare API handles session management, user/group management,
|
||||
has support for multiple databases, using the PHPLIB database abstraction
|
||||
method, we support templates using the PHPLIB Templates class, a file
|
||||
system interface, and even a network i/o interface. On top of these
|
||||
standard functions, phpGroupWare provides several functions to give
|
||||
you the information you need about the users environment, and to properly
|
||||
plug into phpGroupWare.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devguid.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Developers Documentation</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Guidelines</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
491
doc/html/devlangsup.html
Normal file
491
doc/html/devlangsup.html
Normal file
@ -0,0 +1,491 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Using Language Support</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Configuration Variables"
|
||||
HREF="devconfvar.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Using Templates"
|
||||
HREF="devtemp.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devconfvar.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devtemp.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVLANGSUP"
|
||||
>Chapter 27. Using Language Support</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN632"
|
||||
>Overview</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN635"
|
||||
>How to use lang support</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN644"
|
||||
>The lang function</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN668"
|
||||
>Adding translation data</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN672"
|
||||
>The lang table</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN695"
|
||||
>lang.sql</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devlangsup.html#AEN706"
|
||||
>Common return codes</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN632"
|
||||
>Overview</A
|
||||
></H4
|
||||
><P
|
||||
> phpGroupWare is built using a multi-language support scheme. This means the pages can be
|
||||
translated to other languages very easily. Translations of text strings are
|
||||
stored in the phpGroupWare database, and can be modified by the phpGroupWare
|
||||
administrator.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN635"
|
||||
>How to use lang support</A
|
||||
></H4
|
||||
><P
|
||||
> The <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang()</TT
|
||||
> function is your application's interface to phpGroupWare's
|
||||
internationalization support.
|
||||
|
||||
While developing your application, just wrap all your text output with calls to
|
||||
lang(), as in the following code:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> $x = 42;
|
||||
echo lang("The counter is %1",$x)."<br>";</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
This will attempt to translate "The counter is %1", and return a translated version
|
||||
based on the current application and language in use. Note how the position that
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>$x</TT
|
||||
> will end up is controlled by the format string, <I
|
||||
CLASS="EMPHASIS"
|
||||
>not</I
|
||||
> by
|
||||
building up the string in your code. This allows your application to be translated
|
||||
to languages where the actual number is not placed at the end of the string.
|
||||
|
||||
When a translation is not found, the original text will be returned with a * after
|
||||
the string. This makes it easy to develop your application, then go back and
|
||||
add missing translations (identified by the *) later.
|
||||
|
||||
Without a specific translation in the lang table, the above code will print:
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>The counter is 42*<br></TT
|
||||
>
|
||||
If the current user speaks Italian, they string returned may instead be:
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>il contatore è 42<br></TT
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN644"
|
||||
>The lang function</A
|
||||
></H4
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang($key, $m1="", $m2="", $m3="", $m4="", $m5="",
|
||||
$m6="", $m7="", $m8="", $m9="", $m10="")
|
||||
</TT
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
>$key</DT
|
||||
><DD
|
||||
><P
|
||||
>is the string to translate and may contain replacement directives of the form <TT
|
||||
CLASS="CLASSNAME"
|
||||
>%n</TT
|
||||
>. </P
|
||||
></DD
|
||||
><DT
|
||||
>$m1</DT
|
||||
><DD
|
||||
><P
|
||||
> is the first replacement value or may be an array of replacement values (in which case $m2 and above are ignored). </P
|
||||
></DD
|
||||
><DT
|
||||
>$m2</DT
|
||||
><DD
|
||||
><P
|
||||
>- $m10/ the 2nd through 10th replacement values if $m1 is not an array. </P
|
||||
></DD
|
||||
></DL
|
||||
></DIV
|
||||
>
|
||||
The database is searched for rows with a <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang.message_id</TT
|
||||
> that matches <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$key</TT
|
||||
>.
|
||||
If a translation is not found, the original <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$key</TT
|
||||
> is used. The translation engine then replaces
|
||||
all tokens of the form <TT
|
||||
CLASS="CLASSNAME"
|
||||
>%N</TT
|
||||
> with the Nth parameter (either <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$m1[N]</TT
|
||||
> or <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$mN</TT
|
||||
>).
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN668"
|
||||
>Adding translation data</A
|
||||
></H4
|
||||
><P
|
||||
> An application called <I
|
||||
CLASS="EMPHASIS"
|
||||
>Transy</I
|
||||
> is being developed to make this easier, until then you can create
|
||||
the translation data manually.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN672"
|
||||
>The lang table</A
|
||||
></H4
|
||||
><P
|
||||
> The translation class uses the lang table for all translations.
|
||||
We are concerned with 4 of the columns to create a translation:
|
||||
<P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
>message_id</DT
|
||||
><DD
|
||||
><P
|
||||
> The key to identify the message (the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$key</TT
|
||||
> passed
|
||||
to the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang()</TT
|
||||
> function). This is written in English.
|
||||
</P
|
||||
></DD
|
||||
><DT
|
||||
>app_name</DT
|
||||
><DD
|
||||
><P
|
||||
> The application the translation applies to, or
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>common</TT
|
||||
> if it is common across multiple applications.
|
||||
</P
|
||||
></DD
|
||||
><DT
|
||||
>lang</DT
|
||||
><DD
|
||||
><P
|
||||
>The code for the language the translation is in. </P
|
||||
></DD
|
||||
><DT
|
||||
>content</DT
|
||||
><DD
|
||||
><P
|
||||
>The translated string. </P
|
||||
></DD
|
||||
></DL
|
||||
></DIV
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN695"
|
||||
>lang.sql</A
|
||||
></H4
|
||||
><P
|
||||
> Currently all applications, and the core phpGroupWare source tree
|
||||
have a <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang.sql</TT
|
||||
> file. This is the place to add translation
|
||||
data. Just add lines of the form:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>REPLACE INTO lang (message_id, app_name, lang, content)
|
||||
VALUES( 'account has been deleted','common','en','Account has been deleted');</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
translating the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>content</TT
|
||||
> to reflect the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>message_id</TT
|
||||
> string in the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang</TT
|
||||
> language.
|
||||
If the string is specific to your application, put your application name in for <TT
|
||||
CLASS="CLASSNAME"
|
||||
>app_name</TT
|
||||
>
|
||||
otherwise use the name <TT
|
||||
CLASS="CLASSNAME"
|
||||
>common</TT
|
||||
>. The <TT
|
||||
CLASS="CLASSNAME"
|
||||
>message_id</TT
|
||||
> should be in lower case for a small
|
||||
increase in speed.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN706"
|
||||
>Common return codes</A
|
||||
></H4
|
||||
><P
|
||||
> If you browse through the phpGroupWare sources, you may notice
|
||||
a pattern to the return codes used in the higher-level functions.
|
||||
The codes used are partially documented in the <TT
|
||||
CLASS="CLASSNAME"
|
||||
>doc/developers/CODES</TT
|
||||
>
|
||||
file.
|
||||
|
||||
Codes are used as a simple way to communicate common error and progress
|
||||
conditions back to the user. They are mapped to a text string through the
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>check_code()</TT
|
||||
> function, which passes the strings through
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>lang()</TT
|
||||
> before returning.
|
||||
|
||||
For example, calling
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>echo check_code(13);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
Would print
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>Your message has been sent</TT
|
||||
>
|
||||
translated into the current language.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devconfvar.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devtemp.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Configuration Variables</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Using Templates</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
175
doc/html/devtemp.html
Normal file
175
doc/html/devtemp.html
Normal file
@ -0,0 +1,175 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Using Templates</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p261.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Using Language Support"
|
||||
HREF="devlangsup.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="About developers docs"
|
||||
HREF="devabout.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devlangsup.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devabout.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="DEVTEMP"
|
||||
>Chapter 28. Using Templates</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devtemp.html#AEN716"
|
||||
>Overview</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devtemp.html#AEN719"
|
||||
>How to use templates</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN716"
|
||||
>Overview</A
|
||||
></H4
|
||||
><P
|
||||
> phpGroupWare is built using a templates based design. This means the display pages, stored in tpl files, can be translated to other languages, made to look completely different.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN719"
|
||||
>How to use templates</A
|
||||
></H4
|
||||
><P
|
||||
> Some instructions on using templates.
|
||||
</P
|
||||
><P
|
||||
> For Further info read the PHPLIBs documentation for their template class.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devlangsup.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devabout.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Using Language Support</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p261.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>About developers docs</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
20
doc/html/docbook.css
Normal file
20
doc/html/docbook.css
Normal file
@ -0,0 +1,20 @@
|
||||
.BOOK .TITLE { text-align: center }
|
||||
.BOOK .SUBTITLE { text-align: center }
|
||||
.BOOK .CORPAUTHOR { text-align: center }
|
||||
.BOOK .AUTHOR { text-align: center }
|
||||
.BOOK .AFFILIATION { text-align: center }
|
||||
.BOOK .EDITEDBY { text-align: center }
|
||||
.BOOK .EDITOR { text-align: center }
|
||||
.BOOK .GRAPHIC { text-align: center }
|
||||
|
||||
.ARTICLE .TITLE { text-align: center }
|
||||
.ARTICLE .SUBTITLE { text-align: center }
|
||||
.ARTICLE .CORPAUTHOR { text-align: center }
|
||||
.ARTICLE .AUTHOR { text-align: center }
|
||||
.ARTICLE .AFFILIATION { text-align: center }
|
||||
.ARTICLE .EDITEDBY { text-align: center }
|
||||
.ARTICLE .EDITOR { text-align: center }
|
||||
.ARTICLE .GRAPHIC { text-align: center }
|
||||
.ARTICLE .ABSTRACT { margin-left: 0.5in;
|
||||
margin-right: 0.5in;
|
||||
font-style: italic }
|
@ -1,7 +1,7 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Copyright</TITLE
|
||||
>A short History</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
@ -12,11 +12,11 @@ REL="UP"
|
||||
TITLE="Introduction"
|
||||
HREF="p21.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="A short History"
|
||||
HREF="apphis.html"><LINK
|
||||
TITLE="Why should u use it"
|
||||
HREF="why.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Installation"
|
||||
HREF="p43.html"></HEAD
|
||||
HREF="p39.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
><DIV
|
||||
@ -38,7 +38,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="apphis.html"
|
||||
HREF="why.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -51,7 +51,7 @@ WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="p43.html"
|
||||
HREF="p39.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -63,14 +63,24 @@ WIDTH="100%"></DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="COPYRIGHT"
|
||||
>Chapter 4. Copyright</A
|
||||
NAME="DOCHIS"
|
||||
>Chapter 3. A short History</A
|
||||
></H1
|
||||
><P
|
||||
> Copyright (c) Dan Kuykendall.
|
||||
> This document was started by Joseph Engo and reworked by Dan Kuykendall and converted to do
|
||||
DocBook By Powell Molleti.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SIMPLESECT"
|
||||
><H4
|
||||
CLASS="SIMPLESECT"
|
||||
><A
|
||||
NAME="AEN34"
|
||||
>Copyright</A
|
||||
></H4
|
||||
><P
|
||||
> Permission is granted to copy, distribute and/or modify this document
|
||||
> Copyright (c) Dan Kuykendall.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation
|
||||
A copy of the license is available at
|
||||
@ -85,6 +95,7 @@ CLASS="CITETITLE"
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
@ -100,7 +111,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="apphis.html"
|
||||
HREF="why.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -116,7 +127,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p43.html"
|
||||
HREF="p39.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -125,7 +136,7 @@ HREF="p43.html"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>A short History</TD
|
||||
>Why should u use it</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
@ -1,133 +0,0 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>add your topic seek</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developing Add-On Apps"
|
||||
HREF="devaddapp.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Developing Add-On Apps"
|
||||
HREF="devaddapp.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE=" API documentation"
|
||||
HREF="apidocs.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devaddapp.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 22. Developing Add-On Apps</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="apidocs.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="ETC"
|
||||
>add your topic seek</A
|
||||
></H1
|
||||
><P
|
||||
> text for the appropriate topic
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devaddapp.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="apidocs.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Developing Add-On Apps</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devaddapp.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>API documentation</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
@ -59,7 +59,7 @@ WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN237"
|
||||
NAME="AEN186"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
@ -69,11 +69,11 @@ CLASS="TITLE"
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN239"
|
||||
NAME="AEN188"
|
||||
></A
|
||||
><P
|
||||
> Using phpGroupWare is a cake walk , thats what people say :-). Reading this doc would
|
||||
definitely give a head start. If you ever come cross any problem please report to
|
||||
definitely give a head start. If u ever comea cross any problem please report to
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
@ -84,52 +84,52 @@ CLASS="TOC"
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>9. <A
|
||||
>8. <A
|
||||
HREF="logingin.html"
|
||||
>Loging into phpgw</A
|
||||
></DT
|
||||
><DT
|
||||
>10. <A
|
||||
>9. <A
|
||||
HREF="checkmail.html"
|
||||
>checking Email</A
|
||||
></DT
|
||||
><DT
|
||||
>11. <A
|
||||
>10. <A
|
||||
HREF="addressbook.html"
|
||||
>Using Addressbook</A
|
||||
></DT
|
||||
><DT
|
||||
>12. <A
|
||||
>11. <A
|
||||
HREF="calender.html"
|
||||
>Using Calender</A
|
||||
></DT
|
||||
><DT
|
||||
>13. <A
|
||||
>12. <A
|
||||
HREF="fileman.html"
|
||||
>Managing Files with file manager</A
|
||||
></DT
|
||||
><DT
|
||||
>14. <A
|
||||
>13. <A
|
||||
HREF="headlines.html"
|
||||
>Getting Headlines</A
|
||||
></DT
|
||||
><DT
|
||||
>15. <A
|
||||
>14. <A
|
||||
HREF="hr.html"
|
||||
>Human Resources</A
|
||||
></DT
|
||||
><DT
|
||||
>16. <A
|
||||
>15. <A
|
||||
HREF="pref.html"
|
||||
>Preferences</A
|
||||
></DT
|
||||
><DT
|
||||
>17. <A
|
||||
>16. <A
|
||||
HREF="todo.html"
|
||||
>Using todo</A
|
||||
></DT
|
||||
><DT
|
||||
>18. <A
|
||||
>17. <A
|
||||
HREF="tobtick.html"
|
||||
>Using Trouble ticket</A
|
||||
></DT
|
@ -59,7 +59,7 @@ WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN274"
|
||||
NAME="AEN223"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
@ -69,7 +69,7 @@ CLASS="TITLE"
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN276"
|
||||
NAME="AEN225"
|
||||
></A
|
||||
><P
|
||||
> To administer phpGroupWare you need not be a PHP hacker. All you need to do is again just
|
||||
@ -85,17 +85,17 @@ CLASS="TOC"
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>19. <A
|
||||
>18. <A
|
||||
HREF="useracc.html"
|
||||
>User Accounts</A
|
||||
></DT
|
||||
><DT
|
||||
>20. <A
|
||||
>19. <A
|
||||
HREF="groupacc.html"
|
||||
>Group Accounts</A
|
||||
></DT
|
||||
><DT
|
||||
>21. <A
|
||||
>20. <A
|
||||
HREF="app.html"
|
||||
>Applications</A
|
||||
></DT
|
194
doc/html/p261.html
Normal file
194
doc/html/p261.html
Normal file
@ -0,0 +1,194 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Developers Documentation</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Updating"
|
||||
HREF="updata.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Introduction"
|
||||
HREF="devintro.html"></HEAD
|
||||
><BODY
|
||||
CLASS="PART"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="updata.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devintro.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN261"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
>V. Developers Documentation</H1
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN263"
|
||||
></A
|
||||
><P
|
||||
> Dan Kuykendall <dan@kuykendall.org>
|
||||
</P
|
||||
><P
|
||||
> This document explains phpGroupWare's infrastructure and API, along with
|
||||
what is required to integrate applications into it.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>21. <A
|
||||
HREF="devintro.html"
|
||||
>Introduction</A
|
||||
></DT
|
||||
><DT
|
||||
>22. <A
|
||||
HREF="devguid.html"
|
||||
>Guidelines</A
|
||||
></DT
|
||||
><DT
|
||||
>23. <A
|
||||
HREF="devinstall.html"
|
||||
>Installing your application</A
|
||||
></DT
|
||||
><DT
|
||||
>24. <A
|
||||
HREF="devinfra.html"
|
||||
>Infrastructure</A
|
||||
></DT
|
||||
><DT
|
||||
>25. <A
|
||||
HREF="devapi.html"
|
||||
>The API</A
|
||||
></DT
|
||||
><DT
|
||||
>26. <A
|
||||
HREF="devconfvar.html"
|
||||
>Configuration Variables</A
|
||||
></DT
|
||||
><DT
|
||||
>27. <A
|
||||
HREF="devlangsup.html"
|
||||
>Using Language Support</A
|
||||
></DT
|
||||
><DT
|
||||
>28. <A
|
||||
HREF="devtemp.html"
|
||||
>Using Templates</A
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="devabout.html"
|
||||
>About developers docs</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="updata.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devintro.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Updating</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Introduction</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
@ -9,8 +9,8 @@ REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Copyright"
|
||||
HREF="copyright.html"><LINK
|
||||
TITLE="A short History"
|
||||
HREF="dochis.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Requirements"
|
||||
HREF="requirements.html"></HEAD
|
||||
@ -35,7 +35,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
HREF="dochis.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -59,7 +59,7 @@ WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN43"
|
||||
NAME="AEN39"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
@ -69,18 +69,12 @@ CLASS="TITLE"
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN45"
|
||||
NAME="AEN41"
|
||||
></A
|
||||
><P
|
||||
> <P
|
||||
CLASS="LITERALLAYOUT"
|
||||
>Installation/Upgrade and Configuration of phpGroupWare has been made as easy as possible. <br>
|
||||
Most of the work is point and click. <br>
|
||||
By carefully reading this document you can easly install phpGroupWare.</P
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> Since this is still a beta version we do expect some bugs.
|
||||
> Installation and Configuration of phpGroupWare has never been easy. Just point and click , yeah
|
||||
its very easy :-). Since this is still a beta version we do expect some bugs . By carefully reading
|
||||
this document you can easly install phpGroupWare.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
@ -91,23 +85,23 @@ CLASS="TOC"
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>5. <A
|
||||
>4. <A
|
||||
HREF="requirements.html"
|
||||
>Requirements</A
|
||||
></DT
|
||||
><DT
|
||||
>6. <A
|
||||
>5. <A
|
||||
HREF="obtaining.html"
|
||||
>Obtaining phpGroupWare</A
|
||||
></DT
|
||||
><DT
|
||||
>7. <A
|
||||
>6. <A
|
||||
HREF="installing.html"
|
||||
>Installation Steps</A
|
||||
>Installing on Tested Systems</A
|
||||
></DT
|
||||
><DT
|
||||
>8. <A
|
||||
HREF="troubleshoot.html"
|
||||
>7. <A
|
||||
HREF="trobleshooting.html"
|
||||
>Trouble Shooting</A
|
||||
></DT
|
||||
></DL
|
||||
@ -129,7 +123,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
HREF="dochis.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -154,7 +148,7 @@ HREF="requirements.html"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Copyright</TD
|
||||
>A short History</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
@ -1,7 +1,7 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Developers Documentation</TITLE
|
||||
>About</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
@ -9,11 +9,11 @@ REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Updating"
|
||||
HREF="updata.html"><LINK
|
||||
TITLE="About developers docs"
|
||||
HREF="devabout.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Developing Add-On Apps"
|
||||
HREF="devaddapp.html"></HEAD
|
||||
TITLE="About this document"
|
||||
HREF="about.html"></HEAD
|
||||
><BODY
|
||||
CLASS="PART"
|
||||
><DIV
|
||||
@ -35,7 +35,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="updata.html"
|
||||
HREF="devabout.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -48,7 +48,7 @@ WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devaddapp.html"
|
||||
HREF="about.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -59,23 +59,20 @@ WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="PART"
|
||||
><A
|
||||
NAME="AEN312"
|
||||
NAME="AEN731"
|
||||
></A
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
>V. Developers Documentation</H1
|
||||
>VII. About</H1
|
||||
><DIV
|
||||
CLASS="PARTINTRO"
|
||||
><A
|
||||
NAME="AEN314"
|
||||
NAME="AEN733"
|
||||
></A
|
||||
><P
|
||||
> This documentation is for developers who want to hack into the core of the
|
||||
phpGroupWare. Please follow this documentation carefully before u take a jump into
|
||||
the code :)
|
||||
</P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
@ -85,14 +82,9 @@ CLASS="TOC"
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>22. <A
|
||||
HREF="devaddapp.html"
|
||||
>Developing Add-On Apps</A
|
||||
></DT
|
||||
><DT
|
||||
>23. <A
|
||||
HREF="apidocs.html"
|
||||
>API documentation</A
|
||||
>29. <A
|
||||
HREF="about.html"
|
||||
>About this document</A
|
||||
></DT
|
||||
></DL
|
||||
></DIV
|
||||
@ -113,7 +105,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="updata.html"
|
||||
HREF="devabout.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -129,7 +121,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devaddapp.html"
|
||||
HREF="about.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -138,7 +130,7 @@ HREF="devaddapp.html"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Updating</TD
|
||||
>About developers docs</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
@ -148,7 +140,7 @@ VALIGN="top"
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Developing Add-On Apps</TD
|
||||
>About this document</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
@ -10,10 +10,10 @@ TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Installation"
|
||||
HREF="p43.html"><LINK
|
||||
HREF="p39.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Installing additional applications"
|
||||
HREF="x161.html"><LINK
|
||||
HREF="x114.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="It seems to hang when I try to read my mail"
|
||||
HREF="trob2.html"></HEAD
|
||||
@ -38,7 +38,7 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x161.html"
|
||||
HREF="x114.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -63,8 +63,8 @@ WIDTH="100%"></DIV
|
||||
CLASS="CHAPTER"
|
||||
><H1
|
||||
><A
|
||||
NAME="TROUBLESHOOT"
|
||||
>Chapter 8. Trouble Shooting</A
|
||||
NAME="TROBLESHOOTING"
|
||||
>Chapter 7. Trouble Shooting</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
@ -75,7 +75,7 @@ CLASS="TOC"
|
||||
></DT
|
||||
><DT
|
||||
><A
|
||||
HREF="troubleshoot.html#TROB1"
|
||||
HREF="trobleshooting.html#TROB1"
|
||||
>I get "Unable to open mailbox" when using the email application</A
|
||||
></DT
|
||||
><DT
|
||||
@ -101,20 +101,18 @@ CLASS="WARNING"
|
||||
></P
|
||||
><TABLE
|
||||
CLASS="WARNING"
|
||||
BORDER="1"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25"
|
||||
ALIGN="CENTER"
|
||||
VALIGN="TOP"
|
||||
><IMG
|
||||
SRC="../images/warning.gif"
|
||||
HSPACE="5"
|
||||
ALT="Warning"></TD
|
||||
><B
|
||||
>Warning</B
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
><P
|
||||
> phpGroupWare is still Beta software, expect some bugs
|
||||
along the way. If you run into a problem not discussed here, contact us
|
||||
@ -175,7 +173,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x161.html"
|
||||
HREF="x114.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -206,7 +204,7 @@ WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p43.html"
|
||||
HREF="p39.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
@ -9,14 +9,14 @@ REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Installation Steps"
|
||||
TITLE="Installing on Tested Systems"
|
||||
HREF="installing.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Setup / Configure phpGroupWare"
|
||||
HREF="x112.html"><LINK
|
||||
HREF="x85.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Installing additional applications"
|
||||
HREF="x161.html"></HEAD
|
||||
HREF="x114.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
@ -38,20 +38,20 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x112.html"
|
||||
HREF="x85.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 7. Installation Steps</TD
|
||||
>Chapter 6. Installing on Tested Systems</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x161.html"
|
||||
HREF="x114.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -64,7 +64,7 @@ CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN156"
|
||||
NAME="AEN109"
|
||||
>Testing the install</A
|
||||
></H1
|
||||
><P
|
||||
@ -95,7 +95,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x112.html"
|
||||
HREF="x85.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -111,7 +111,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x161.html"
|
||||
HREF="x114.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
@ -1,342 +0,0 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Setup / Configure phpGroupWare</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Installation Steps"
|
||||
HREF="installing.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Installing from CVS"
|
||||
HREF="cvsins.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Testing the install"
|
||||
HREF="x156.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cvsins.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 7. Installation Steps</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x156.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN112"
|
||||
>Setup / Configure phpGroupWare</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN114"
|
||||
>The config file</A
|
||||
></H2
|
||||
><P
|
||||
> Copy the <TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php.sample</TT
|
||||
> file to
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php</TT
|
||||
> and edit the file, following the
|
||||
directions in the comments.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN119"
|
||||
>Create database in MySQL</A
|
||||
></H2
|
||||
><P
|
||||
> An empty database will be needed for phpGroupWare. Here are the instructions for doing so with MySQL.
|
||||
First create the database:
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>mysqladmin create phpgroupware -p</B
|
||||
> </P
|
||||
>
|
||||
Then login to the mysql:
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>mysql -p</B
|
||||
> </P
|
||||
>
|
||||
Finally grant the needed security rights:
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>grant all on phpgroupware.* to phpgroupware@localhost identified by "some_password";</B
|
||||
> </P
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN128"
|
||||
>Create database in PostreSQL</A
|
||||
></H2
|
||||
><P
|
||||
> An empty database will be needed for phpGroupWare. Here are the instructions for doing so with PostgreSQL.
|
||||
Create the database:
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>postmaster -i -D /home/[username]/[dataDir]</B
|
||||
> </P
|
||||
>
|
||||
You will probably need to review PostgreSQL documentation for futher details.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN133"
|
||||
>The Setup Program</A
|
||||
></H2
|
||||
><P
|
||||
> Then point your browser to phpgroupware/setup/ which will
|
||||
create (or upgrade) the database tables.
|
||||
You wil be asked to login, using the password set in
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php</TT
|
||||
>. Setup will attempt to determine what version
|
||||
of the phpGroupWare database you have installed, and upgrade to the most recent
|
||||
version.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
CLASS="NOTE"
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25"
|
||||
ALIGN="CENTER"
|
||||
VALIGN="TOP"
|
||||
><IMG
|
||||
SRC="../images/note.gif"
|
||||
HSPACE="5"
|
||||
ALT="Note"></TD
|
||||
><TH
|
||||
ALIGN="LEFT"
|
||||
VALIGN="CENTER"
|
||||
><B
|
||||
>Note</B
|
||||
></TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> </TD
|
||||
><TD
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
><P
|
||||
> The developers are concentrating on getting the beta
|
||||
working, and have not spent a great deal of time building upgrade scripts from the
|
||||
alpha versions of phpGroupWare. You are advised to backup your existing alpha
|
||||
database before running the setup script to avoid problems!
|
||||
</P
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><P
|
||||
> If you get no error messages, continue on to phpgroupware/setup/config.php
|
||||
to configure phpGroupWare to your system.
|
||||
</P
|
||||
><P
|
||||
> If you are using the email system you will need to create a temporary directory
|
||||
where file uploads will be stored. For security reasons, you should <TT
|
||||
CLASS="CONSTANT"
|
||||
>chown
|
||||
nobody.nobody</TT
|
||||
> and <TT
|
||||
CLASS="CONSTANT"
|
||||
>chmod 700</TT
|
||||
> to that directory. Depending on your system configuration.
|
||||
Default installs of Apache normally run as the user nobody. You may need your system
|
||||
administrator to do this for you if you do not have root access.
|
||||
</P
|
||||
><P
|
||||
> If you do not have access to root, create this file and run it.
|
||||
</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>?php
|
||||
if (mkdir("/path/to/temp/directory",0700)) {
|
||||
echo "Directory created successfully";
|
||||
} else {
|
||||
echo "Error creating directory";
|
||||
}
|
||||
?
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN146"
|
||||
>The phpGroupWare Daemon</A
|
||||
></H2
|
||||
><P
|
||||
> If you have access to cron, you may want to setup the files in the cron
|
||||
directory.
|
||||
</P
|
||||
><P
|
||||
> stalesessions.pl - There are 2 reasons for this file.
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Users always forget to logout. This way the session doesn't sit around forever, creating a possible security risk.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The email system requires plain text passwords which are stored in the sessions table.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
This file is not required, you can simply disable cron_apps in the admin -> applications section
|
||||
to clean out the sessions table during login and logout
|
||||
</P
|
||||
><P
|
||||
> stale_uploads.pl - This will delete file attachments for messages that where not
|
||||
completed. If a users browser crashes, Internet connection dies, etc, their
|
||||
files will sit there forever unless deleted. You could add a few lines to
|
||||
logout.php that will look in the temp directory for any stale uploads and delete
|
||||
them. But, once again, it becomes a performance issue.
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="cvsins.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x156.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Installing from CVS</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="installing.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Testing the install</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
@ -9,14 +9,14 @@ REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Installation Steps"
|
||||
TITLE="Installing on Tested Systems"
|
||||
HREF="installing.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Testing the install"
|
||||
HREF="x156.html"><LINK
|
||||
HREF="x109.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Trouble Shooting"
|
||||
HREF="troubleshoot.html"></HEAD
|
||||
HREF="trobleshooting.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
@ -38,20 +38,20 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x156.html"
|
||||
HREF="x109.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 7. Installation Steps</TD
|
||||
>Chapter 6. Installing on Tested Systems</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="troubleshoot.html"
|
||||
HREF="trobleshooting.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -64,7 +64,7 @@ CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN161"
|
||||
NAME="AEN114"
|
||||
>Installing additional applications</A
|
||||
></H1
|
||||
><P
|
||||
@ -108,20 +108,24 @@ CLASS="CITETITLE"
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Download the .tar.gz file for the application, or check out the source with cvs with
|
||||
<P
|
||||
><B
|
||||
CLASS="COMMAND"
|
||||
>export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgwapps'</B
|
||||
> <BR><B
|
||||
CLASS="COMMAND"
|
||||
>cvs login (just hit enter if prompted for a password)</B
|
||||
> <BR><B
|
||||
CLASS="COMMAND"
|
||||
>cvs co headlines</B
|
||||
> <BR></P
|
||||
>
|
||||
</P
|
||||
>Download the .tar.gz file for the application, or check out the source
|
||||
with cvs with
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="90%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgwapps'
|
||||
cvs login (just hit enter if prompted for a password)
|
||||
cvs co headlines
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
@ -204,8 +208,7 @@ STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Once you enable a few of the Headlines sites through the Administration page link, you
|
||||
should see headlines grabbed from the sites you selected when you click on the Headlines
|
||||
icon in the navigation bar.
|
||||
</P
|
||||
icon in the navigation bar.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
@ -226,7 +229,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x156.html"
|
||||
HREF="x109.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -242,7 +245,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="troubleshoot.html"
|
||||
HREF="trobleshooting.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
170
doc/html/x398.html
Normal file
170
doc/html/x398.html
Normal file
@ -0,0 +1,170 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Basic functions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Application Functions"
|
||||
HREF="x407.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 25. The API</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x407.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN398"
|
||||
>Basic functions</A
|
||||
></H1
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN401"
|
||||
>$phpgw->link</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->link($url)</TT
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> Add support for session management. ALL links must use this, that includes href's form actions and header location's.
|
||||
If you are just doing a form action back to the same page, you can use it without any parameters.
|
||||
This function is right at the core of the class because it is used so often, we wanted to save developers a few keystrokes.
|
||||
Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><form name=copy method=post action="<?php echo $phpgw->link();?>">
|
||||
/* If session management is done via passing url parameters */
|
||||
/* The the result would be */
|
||||
/* <form name=copy method=post action="somepage.php?sessionid=87687693276?kp3=kjh98u80"> */
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x407.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>The API</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Application Functions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
227
doc/html/x407.html
Normal file
227
doc/html/x407.html
Normal file
@ -0,0 +1,227 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Application Functions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Basic functions"
|
||||
HREF="x398.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="File functions"
|
||||
HREF="x434.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x398.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 25. The API</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x434.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN407"
|
||||
>Application Functions</A
|
||||
></H1
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN410"
|
||||
>$phpgw->common->phpgw_header</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->phpgw_header()</TT
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> Print out the start of the HTML page, including the navigation bar
|
||||
and includes <TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/header.php</TT
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN416"
|
||||
>$phpgw->common->phpgw_footer</A
|
||||
></H2
|
||||
><P
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->phpgw_footer()</TT
|
||||
></P
|
||||
><P
|
||||
> Prints the system footer, and includes <TT
|
||||
CLASS="FILENAME"
|
||||
>appname/inc/footer.php</TT
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN422"
|
||||
>$phpgw->common->appsession</A
|
||||
></H2
|
||||
><P
|
||||
><TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->common->appsession($data)</TT
|
||||
></P
|
||||
><P
|
||||
> Store important information session information that your
|
||||
application needs.
|
||||
</P
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->appsession</TT
|
||||
> will return the value of your session data is
|
||||
you leave the parameter empty [i.e. <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->appsession("")</TT
|
||||
>], otherwise
|
||||
it will store whatever data you send to it.
|
||||
</P
|
||||
><P
|
||||
> You can also store a comma delimited string and use <TT
|
||||
CLASS="CLASSNAME"
|
||||
>explode()</TT
|
||||
>
|
||||
to turn it back into an array when you receive the value back.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> $phpgw->common->appsession("/path/to/something");
|
||||
echo "Dir: " . $phpgw->common->appsession();</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x398.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x434.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Basic functions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>File functions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
309
doc/html/x434.html
Normal file
309
doc/html/x434.html
Normal file
@ -0,0 +1,309 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>File functions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Application Functions"
|
||||
HREF="x407.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Email/NNTP Functions"
|
||||
HREF="x471.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x407.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 25. The API</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x471.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN434"
|
||||
>File functions</A
|
||||
></H1
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN437"
|
||||
>$phpgw->vfs->read_file</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->vfs->read_file($file)</TT
|
||||
> Returns the data from
|
||||
<TT
|
||||
CLASS="CLASSNAME"
|
||||
>$file</TT
|
||||
>.
|
||||
You must send the complete path to the file.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$data = $phpgw->vfs->read_file("/some/dir/to/file.txt");</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN444"
|
||||
>$phpgw->vfs->write_file</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->vfs->write_file($file, $contents)</TT
|
||||
>
|
||||
Write data to <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$file</TT
|
||||
>.
|
||||
You must send the complete path to the file.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$data = $phpgw->vfs->write_file("/some/dir/to/file.txt");</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN451"
|
||||
>$phpgw->vfs->read_userfile</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->vfs->read_userfile($file)</TT
|
||||
>
|
||||
Returns the data from <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$file</TT
|
||||
>, which resides
|
||||
in the users private dir.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$data = $phpgw->vfs->read_userfile("file.txt");</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN458"
|
||||
>$phpgw->vfs->write_userfile</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->write_userfile($file, $contents)</TT
|
||||
>
|
||||
Writes data to <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$file</TT
|
||||
>, which resides in the
|
||||
users private dir.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$data = $phpgw->vfs->write_userfile("file.txt");</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN465"
|
||||
>$phpgw->vfs->list_userfiles</A
|
||||
></H2
|
||||
><P
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->vfs->list_userfiles()</TT
|
||||
>
|
||||
Returns an array which has the list of files in the users private dir.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$filelist = array();
|
||||
$filelist = $phpgw->vfs->list_userfiles();</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x407.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x471.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Application Functions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="devapi.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Email/NNTP Functions</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
@ -1,7 +1,7 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
> API documentation</TITLE
|
||||
>Email/NNTP Functions</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
@ -9,16 +9,16 @@ REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Developers Documentation"
|
||||
HREF="p312.html"><LINK
|
||||
TITLE="The API"
|
||||
HREF="devapi.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="add your topic seek"
|
||||
HREF="etc.html"><LINK
|
||||
TITLE="File functions"
|
||||
HREF="x434.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="About this document"
|
||||
HREF="p331.html"></HEAD
|
||||
TITLE="Configuration Variables"
|
||||
HREF="devconfvar.html"></HEAD
|
||||
><BODY
|
||||
CLASS="CHAPTER"
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
@ -38,20 +38,20 @@ WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="etc.html"
|
||||
HREF="x434.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
>Chapter 25. The API</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="p331.html"
|
||||
HREF="devconfvar.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -60,26 +60,48 @@ HREF="p331.html"
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="CHAPTER"
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="APIDOCS"
|
||||
>Chapter 23. API documentation</A
|
||||
NAME="AEN471"
|
||||
>Email/NNTP Functions</A
|
||||
></H1
|
||||
><P
|
||||
>
|
||||
text for the API documentation chapter
|
||||
</P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="FUNCTION1"
|
||||
>function1(or what ever)</A
|
||||
></H1
|
||||
NAME="AEN474"
|
||||
>$phpgw->send->msg</A
|
||||
></H2
|
||||
><P
|
||||
> the function you want to include seek.
|
||||
> <TT
|
||||
CLASS="CLASSNAME"
|
||||
>$phpgw->msg->send($service, $to, $subject, $body, $msgtype, $cc, $bcc)</TT
|
||||
>
|
||||
Send a message via email or NNTP and returns any error codes.
|
||||
</P
|
||||
><P
|
||||
> Example:
|
||||
<TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>$to = "someuser@domain.com";
|
||||
$subject = "Hello buddy";
|
||||
$body = "Give me a call\n Been wondering what your up to.";
|
||||
$errors = $phpgw->msg->send("email", $to, $subject, $body);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
></DIV
|
||||
></DIV
|
||||
@ -98,7 +120,7 @@ WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="etc.html"
|
||||
HREF="x434.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
@ -114,7 +136,7 @@ WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p331.html"
|
||||
HREF="devconfvar.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
@ -123,20 +145,20 @@ HREF="p331.html"
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>add your topic seek</TD
|
||||
>File functions</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="p312.html"
|
||||
HREF="devapi.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>About this document</TD
|
||||
>Configuration Variables</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
236
doc/html/x85.html
Normal file
236
doc/html/x85.html
Normal file
@ -0,0 +1,236 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Setup / Configure phpGroupWare</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.52"><LINK
|
||||
REL="HOME"
|
||||
TITLE="phpGroupWare Docs V0.05"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Installing on Tested Systems"
|
||||
HREF="installing.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Installing from CVS"
|
||||
HREF="cvsins.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Testing the install"
|
||||
HREF="x109.html"></HEAD
|
||||
><BODY
|
||||
CLASS="SECT1"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="3"
|
||||
ALIGN="center"
|
||||
>phpGroupWare Docs V0.05</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cvsins.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
>Chapter 6. Installing on Tested Systems</TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="x109.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN85"
|
||||
>Setup / Configure phpGroupWare</A
|
||||
></H1
|
||||
><P
|
||||
> Copy the <TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php.sample</TT
|
||||
> file to
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php</TT
|
||||
> and edit the file, following the
|
||||
directions in the comments.
|
||||
</P
|
||||
><P
|
||||
> Then point your browser to phpgroupware/setup/ which will
|
||||
create (or upgrade) the database tables.
|
||||
You wil be asked to login, using the password set in
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>header.inc.php</TT
|
||||
>. Setup will attempt to determine what version
|
||||
of the phpGroupWare database you have installed, and upgrade to the most recent
|
||||
version.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="NOTE"
|
||||
><BLOCKQUOTE
|
||||
CLASS="NOTE"
|
||||
><P
|
||||
><B
|
||||
>Note: </B
|
||||
> The developers are concentrating on getting the beta
|
||||
working, and have not spent a great deal of time building upgrade scripts from the
|
||||
alpha versions of phpGroupWare. You are advised to backup your existing alpha
|
||||
database before running the setup script to avoid problems!
|
||||
</P
|
||||
></BLOCKQUOTE
|
||||
></DIV
|
||||
><P
|
||||
> If you get no error messages, continue on to phpgroupware/setup/config.php
|
||||
to configure phpGroupWare to your system.
|
||||
</P
|
||||
><P
|
||||
> If you are using the email system you will need to create a temporary directory
|
||||
where file uploads will be stored. For security reasons, you should <TT
|
||||
CLASS="CONSTANT"
|
||||
>chown
|
||||
nobody.nobody</TT
|
||||
> and <TT
|
||||
CLASS="CONSTANT"
|
||||
>chmod 700</TT
|
||||
> to that directory. Depending on your system configuration.
|
||||
Default installs of Apache normally run as the user nobody. You may need your system
|
||||
administrator to do this for you if you do not have root access.
|
||||
</P
|
||||
><P
|
||||
> If you do not have access to root, create this file and run it.
|
||||
</P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> <?php
|
||||
if (mkdir("/path/to/temp/directory",0700)) {
|
||||
echo "Directory created successfully";
|
||||
} else {
|
||||
echo "Error creating directory";
|
||||
}
|
||||
?>
|
||||
</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
> If you have access to cron, you may want to setup the files in the cron
|
||||
directory.
|
||||
</P
|
||||
><P
|
||||
> stalesessions.pl - There are 2 reasons for this file.
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>Users always forget to logout. This way the session doesn't sit around forever, creating a possible security risk.</P
|
||||
></LI
|
||||
><LI
|
||||
STYLE="list-style-type: disc"
|
||||
><P
|
||||
>The email system requires plain text passwords which are stored in the sessions table.</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
This file is not required, you can simply disable cron_apps in the admin -> applications section
|
||||
to clean out the sessions table during login and logout
|
||||
</P
|
||||
><P
|
||||
> stale_uploads.pl - This will delete file attachments for messages that where not
|
||||
completed. If a users browser crashes, Internet connection dies, etc, their
|
||||
files will sit there forever unless deleted. You could add a few lines to
|
||||
logout.php that will look in the temp directory for any stale uploads and delete
|
||||
them. But, once again, it becomes a performance issue.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
CELLPADDING="0"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="cvsins.html"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="book1.html"
|
||||
>Home</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="x109.html"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Installing from CVS</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
><A
|
||||
HREF="installing.html"
|
||||
>Up</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Testing the install</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
16
doc/sgml/devabout.sgml
Normal file
16
doc/sgml/devabout.sgml
Normal file
@ -0,0 +1,16 @@
|
||||
<article id="devabout">
|
||||
<title>About developers docs</title>
|
||||
|
||||
<simplesect>
|
||||
<title>About this document</title>
|
||||
<para></para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>History</title>
|
||||
<para>
|
||||
This document was written by Dan Kuykendall.
|
||||
|
||||
2000-09-25 documentation on lang(), codes, administration and preferences extension added by Steve Brown.
|
||||
</para>
|
||||
</simplesect>
|
||||
</article>
|
192
doc/sgml/devapi.sgml
Normal file
192
doc/sgml/devapi.sgml
Normal file
@ -0,0 +1,192 @@
|
||||
<chapter id="devapi">
|
||||
<title>The API</title>
|
||||
|
||||
<sect1>
|
||||
<title>Introduction</title>
|
||||
<para>
|
||||
phpGroupWare attempts to provide developers with a useful API to handle common tasks.
|
||||
</para>
|
||||
<para>
|
||||
To do this we have created a multi-dimensional class $phpgw->.
|
||||
</para>
|
||||
<para>
|
||||
This allows for terrific code organization, and help developers easily identify
|
||||
the file that the function is in. All the files that are part of this class are in the
|
||||
<filename>inc/core</filename> directory
|
||||
and are named to match the sub-class.
|
||||
</para>
|
||||
<para>
|
||||
Example:<classname>$phpgw->send->msg()</classname> is in the
|
||||
<filename>inc/phpgwapi/phpgw_send.inc.php</filename> file.
|
||||
</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Basic functions</title>
|
||||
<para></para>
|
||||
|
||||
<sect2>
|
||||
<title>$phpgw->link</title>
|
||||
<para>
|
||||
<classname>$phpgw->link($url)</classname>
|
||||
</para>
|
||||
<para>
|
||||
Add support for session management. ALL links must use this, that includes href's form actions and header location's.
|
||||
If you are just doing a form action back to the same page, you can use it without any parameters.
|
||||
This function is right at the core of the class because it is used so often, we wanted to save developers a few keystrokes.
|
||||
Example:
|
||||
<programlisting>
|
||||
<form name=copy method=post action="<?php echo $phpgw->link();?>">
|
||||
/* If session management is done via passing url parameters */
|
||||
/* The the result would be */
|
||||
/* <form name=copy method=post action="somepage.php?sessionid=87687693276?kp3=kjh98u80"> */
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Application Functions</title>
|
||||
<para></para>
|
||||
|
||||
<sect2>
|
||||
<title>$phpgw->common->phpgw_header</title>
|
||||
<para>
|
||||
<classname>$phpgw->phpgw_header()</classname>
|
||||
</para>
|
||||
<para>
|
||||
Print out the start of the HTML page, including the navigation bar
|
||||
and includes <filename>appname/inc/header.php</filename>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>$phpgw->common->phpgw_footer</title>
|
||||
<para><classname>$phpgw->phpgw_footer()</classname></para>
|
||||
<para>
|
||||
Prints the system footer, and includes <filename>appname/inc/footer.php</filename>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>$phpgw->common->appsession</title>
|
||||
<para><classname>$phpgw->common->appsession($data)</classname></para>
|
||||
<para>
|
||||
Store important information session information that your
|
||||
application needs.
|
||||
</para>
|
||||
<para>
|
||||
<classname>$phpgw->appsession</classname> will return the value of your session data is
|
||||
you leave the parameter empty [i.e. <classname>$phpgw->appsession("")</classname>], otherwise
|
||||
it will store whatever data you send to it.
|
||||
</para>
|
||||
<para>
|
||||
You can also store a comma delimited string and use <classname>explode()</classname>
|
||||
to turn it back into an array when you receive the value back.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$phpgw->common->appsession("/path/to/something");
|
||||
echo "Dir: " . $phpgw->common->appsession();
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
|
||||
<sect1>
|
||||
<title>File functions</title>
|
||||
<para></para>
|
||||
|
||||
<sect2>
|
||||
<title>$phpgw->vfs->read_file</title>
|
||||
<para>
|
||||
<classname>$phpgw->vfs->read_file($file)</classname> Returns the data from
|
||||
<classname>$file</classname>.
|
||||
You must send the complete path to the file.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$data = $phpgw->vfs->read_file("/some/dir/to/file.txt");
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>$phpgw->vfs->write_file</title>
|
||||
<para>
|
||||
<classname>$phpgw->vfs->write_file($file, $contents)</classname>
|
||||
Write data to <classname>$file</classname>.
|
||||
You must send the complete path to the file.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$data = $phpgw->vfs->write_file("/some/dir/to/file.txt");
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>$phpgw->vfs->read_userfile</title>
|
||||
<para>
|
||||
<classname>$phpgw->vfs->read_userfile($file)</classname>
|
||||
Returns the data from <classname>$file</classname>, which resides
|
||||
in the users private dir.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$data = $phpgw->vfs->read_userfile("file.txt");
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>$phpgw->vfs->write_userfile</title>
|
||||
<para>
|
||||
<classname>$phpgw->write_userfile($file, $contents)</classname>
|
||||
Writes data to <classname>$file</classname>, which resides in the
|
||||
users private dir.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$data = $phpgw->vfs->write_userfile("file.txt");
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>$phpgw->vfs->list_userfiles</title>
|
||||
<para>
|
||||
<classname>$phpgw->vfs->list_userfiles()</classname>
|
||||
Returns an array which has the list of files in the users private dir.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$filelist = array();
|
||||
$filelist = $phpgw->vfs->list_userfiles();
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Email/NNTP Functions</title>
|
||||
<para></para>
|
||||
|
||||
<sect2>
|
||||
<title>$phpgw->send->msg</title>
|
||||
<para>
|
||||
<classname>$phpgw->msg->send($service, $to, $subject, $body, $msgtype, $cc, $bcc)</classname>
|
||||
Send a message via email or NNTP and returns any error codes.
|
||||
</para>
|
||||
<para>
|
||||
Example:
|
||||
<programlisting>
|
||||
$to = "someuser@domain.com";
|
||||
$subject = "Hello buddy";
|
||||
$body = "Give me a call\n Been wondering what your up to.";
|
||||
$errors = $phpgw->msg->send("email", $to, $subject, $body);
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
137
doc/sgml/devconfvar.sgml
Normal file
137
doc/sgml/devconfvar.sgml
Normal file
@ -0,0 +1,137 @@
|
||||
<chapter id="devconfvar">
|
||||
<title>Configuration Variables</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Introduction</title>
|
||||
<para>
|
||||
phpGroupWare attempt to provide developers with as much information about the user, group,
|
||||
server, and application configuration as possible. To do this we provide a multi-dimensional
|
||||
array called <classname>$phpgw_info[]</classname>, which includes all the information about
|
||||
your environment.Due to the multi-dimensional array approach. getting these values is easy.
|
||||
</para>
|
||||
<para>
|
||||
Here are some examples:
|
||||
|
||||
<programlisting>
|
||||
<?php
|
||||
// To do a hello username
|
||||
echo "Hello " . $phpgw_info["user"]["fullname"];
|
||||
//If username first name is John and last name is Doe, prints: 'Hello John Doe'
|
||||
?>
|
||||
<?php
|
||||
// To find out the location of the imap server
|
||||
echo "IMAP Server is named: " . $phpgw_info["server"]["imap_server"];
|
||||
//If imap is running on localhost, prints: 'IMAP Server is named: localhost'
|
||||
?>
|
||||
</programlisting>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>User information</title>
|
||||
<para>
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["user"]["userid"] = </classname>The user ID</member>
|
||||
<member><classname>$phpgw_info["user"]["sessionid"] = </classname>The session ID</member>
|
||||
<member><classname>$phpgw_info["user"]["theme"] = </classname>Selected theme</member>
|
||||
<member><classname>$phpgw_info["user"]["private_dir"] = </classname>Users private dir. Use phpGroupWare core functions for access to the files.</member>
|
||||
<member><classname>$phpgw_info["user"]["firstname"] = </classname>Users first name</member>
|
||||
<member><classname>$phpgw_info["user"]["lastname"] = </classname>Users last name </member>
|
||||
<member><classname>$phpgw_info["user"]["fullname"] = </classname>Users Full Name </member>
|
||||
<member><classname>$phpgw_info["user"]["groups"] = </classname>Groups the user is a member of </member>
|
||||
<member><classname>$phpgw_info["user"]["app_perms"] = </classname>If the user has access to the current application </member>
|
||||
<member><classname>$phpgw_info["user"]["lastlogin"] = </classname>Last time the user logged in. </member>
|
||||
<member><classname>$phpgw_info["user"]["lastloginfrom"] = </classname>Where they logged in from the last time. </member>
|
||||
<member><classname>$phpgw_info["user"]["lastpasswd_change"] = </classname>Last time they changed their password. </member>
|
||||
<member><classname>$phpgw_info["user"]["passwd"] = </classname>Hashed password. </member>
|
||||
<member><classname>$phpgw_info["user"]["status"] = </classname>If the user is enabled. </member>
|
||||
<member><classname>$phpgw_info["user"]["logintime"] = </classname>Time they logged into their current session. </member>
|
||||
<member><classname>$phpgw_info["user"]["session_dla"] = </classname>Last time they did anything in their current session </member>
|
||||
<member><classname>$phpgw_info["user"]["session_ip"] = </classname>Current IP address </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Group information</title>
|
||||
<para>
|
||||
<classname>$phpgw_info["group"]["group_names"] = </classname>List of groups.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Server information</title>
|
||||
<para>
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["server"]["server_root"] = </classname>Main installation directory </member>
|
||||
<member><classname>$phpgw_info["server"]["include_root"] = </classname>Location of the '<classname>inc</classname>' directory. </member>
|
||||
<member><classname>$phpgw_info["server"]["temp_dir"] = </classname>Directory that can be used for temporarily storing files </member>
|
||||
<member><classname>$phpgw_info["server"]["files_dir"] = </classname>Directory er and group files are stored </member>
|
||||
<member><classname>$phpgw_info["server"]["common_include_dir"] = </classname>Location of the core/shared include files. </member>
|
||||
<member><classname>$phpgw_info["server"]["template_dir"] = </classname>Active template files directory. This is defaulted by the server, and changeable by the user. </member>
|
||||
<member><classname>$phpgw_info["server"]["dir_separator"] = </classname>Allows compatibility with WindowsNT directory format, </member>
|
||||
<member><classname>$phpgw_info["server"]["encrpytkey"] = </classname>Key used for encryption functions </member>
|
||||
<member><classname>$phpgw_info["server"]["site_title"] = </classname>Site Title will show in the title bar of each webpage. </member>
|
||||
<member><classname>$phpgw_info["server"]["webserver_url"] = </classname>URL to phpGroupWare installation. </member>
|
||||
<member><classname>$phpgw_info["server"]["hostname"] = </classname>Name of the server phpGroupWare is installed upon. </member>
|
||||
<member><classname>$phpgw_info["server"]["charset"] = </classname>default charset, default:<classname>iso-8859-1</classname> </member>
|
||||
<member><classname>$phpgw_info["server"]["version"] = </classname>phpGroupWare version. </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Database information</title>
|
||||
<para>
|
||||
It is unlikely you will need these, because <classname>$phpgw_info_db</classname> will already be loaded as a database for you to use.
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["server"]["db_host"] = </classname>Address of the database server. Usually this is set to localhost. </member>
|
||||
<member><classname>$phpgw_info["server"]["db_name"] = </classname>Database name. </member>
|
||||
<member><classname>$phpgw_info["server"]["db_user"] = </classname>User name. </member>
|
||||
<member><classname>$phpgw_info["server"]["db_pass"] = </classname>Password </member>
|
||||
<member><classname>$phpgw_info["server"]["db_type"] = </classname>Type of database. Currently MySQL and PostgreSQL are supported. </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Mail information</title>
|
||||
<para>
|
||||
It is unlikely you will need these, because most email needs are services thru core phpGroupWare functions.
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["server"]["mail_server"] = </classname>Address of the IMAP server. Usually this is set to localhost. </member>
|
||||
<member><classname>$phpgw_info["server"]["mail_server_type"] = </classname>IMAP or POP3 </member>
|
||||
<member><classname>$phpgw_info["server"]["imap_server_type"] = </classname>Cyrus or Uwash </member>
|
||||
<member><classname>$phpgw_info["server"]["imap_port"] = </classname>This is usually 143, and should only be changed if there is a good reason. </member>
|
||||
<member><classname>$phpgw_info["server"]["mail_suffix] = </classname>This is the domain name, used to add to email address </member>
|
||||
<member><classname>$phpgw_info["server"]["mail_login_type"] = </classname>This adds support for VMailMgr. Generally this should be set to '<classname>standard</classname>'. </member>
|
||||
<member><classname>$phpgw_info["server"]["smtp_server"] = </classname>Address of the SMTP server. Usually this is set to localhost. </member>
|
||||
<member><classname>$phpgw_info["server"]["smtp_port"] = </classname>This is usually 25, and should only be changed if there is a good reason. </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>NNTP information</title>
|
||||
<para>
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["server"]["nntp_server"] = </classname>Address of the NNTP server. </member>
|
||||
<member><classname>$phpgw_info["server"]["nntp_port"] = </classname>This is usually XX, and should only be changed if there is a good reason. </member>
|
||||
<member><classname>$phpgw_info["server"]["nntp_sender"] = </classname>Unknown </member>
|
||||
<member><classname>$phpgw_info["server"]["nntp_organization"] = </classname>Unknown </member>
|
||||
<member><classname>$phpgw_info["server"]["nntp_admin"] = </classname>Unknown </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Application information</title>
|
||||
<para>
|
||||
Each application has the following information available.
|
||||
<simplelist type=vert columns=1>
|
||||
<member><classname>$phpgw_info["apps"]["appname"]["title"] = </classname>The title of the application. </member>
|
||||
<member><classname>$phpgw_info["apps"]["appname"]["enabled"] = </classname>If the application is enabled. True or False. </member>
|
||||
<member><classname>$phpgw_info["server"]["app_include_dir"] = </classname>Location of the current application include files. </member>
|
||||
<member><classname>$phpgw_info["server"]["app_template_dir"] = </classname>Location of the current application tpl files. </member>
|
||||
<member><classname>$phpgw_info["server"]["app_lang_dir"] = </classname>Location of the current lang directory. </member>
|
||||
<member><classname>$phpgw_info["server"]["app_auth"] = </classname>If the server and current user have access to current application </member>
|
||||
<member><classname>$phpgw_info["server"]["app_current"] = </classname>name of the current application. </member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
|
||||
</chapter>
|
||||
|
63
doc/sgml/devguid.sgml
Normal file
63
doc/sgml/devguid.sgml
Normal file
@ -0,0 +1,63 @@
|
||||
<chapter id="devguid">
|
||||
<title>Guidelines</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Requirements</title>
|
||||
<para>
|
||||
These guidelines must be followed for any application that wants
|
||||
considered for inclusion into phpGroupWare deluxe.
|
||||
</para>
|
||||
<para>
|
||||
<itemizedlist mark=bullet>
|
||||
<listitem><para>It must run on PHP3 and PHP4. </para></listitem>
|
||||
<listitem><para>SQL statements must be compatible with both MySQL
|
||||
and PostgreSQL.</para></listitem>
|
||||
<listitem><para>It must use our default header.inc.php include.</para></listitem>
|
||||
<listitem><para>It must use our <classname>$phpgw_link($url)</classname> for all links
|
||||
(this is for session support).</para></listitem>
|
||||
<listitem><para>It must use "post" for forms.</para></listitem>
|
||||
<listitem><para>It must respect phpGW group rights and phpGW user permissions.</para></listitem>
|
||||
<listitem><para>It must use our directory structure, template support and lang
|
||||
(multi-language) support.</para></listitem>
|
||||
<listitem><para>Where possible it should run on both Unix and NT platforms.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
For applications that do not meet these requirements, they can be
|
||||
available to users via the phpGroupWare Apps project, or whatever
|
||||
means the developers decide.If you need help converting your
|
||||
application to templates and our lang support, we will try to
|
||||
connect you with someone to help.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Writing/porting your application</title>
|
||||
<para><emphasis>Include files</emphasis></para>
|
||||
<para>
|
||||
Each PHP page you write will need to include the header.inc.php along
|
||||
with a few variables.This is done by putting this at the top of each PHP page.
|
||||
|
||||
<programlisting>
|
||||
<?php
|
||||
$phpgw_info["flags"]["currentapp"] = "appname";
|
||||
include("../header.inc.php");
|
||||
?>
|
||||
</programlisting>
|
||||
Of course change application name to fit.
|
||||
This include will provide the following things:
|
||||
<itemizedlist mark=bullet>
|
||||
<listitem><para>The phpgwAPI - The phpGroupWare API will be loaded.</para></listitem>
|
||||
<listitem><para>The phpGW navbar will be loaded (by default, but can be disabled until a later point.</para></listitem>
|
||||
<listitem><para>appname/inc/functions.inc.php - This file is loaded just after the phpgwAPI
|
||||
and before any HTML code is generated. This file should include all your application
|
||||
specific functions..You are welcome to include any additional files you need from within
|
||||
this file. </para></listitem>
|
||||
<listitem><para>appname/inc/header.inc.php - This file is loaded just after the system header/navbar,
|
||||
and allows developers to use it for whatever they need to load.</para></listitem>
|
||||
<listitem><para>appname/inc/footer.inc.php - This file is loaded just before the system footer,
|
||||
allowing developers to close connections and whatever else they need.</para></listitem>
|
||||
<listitem><para>The phpGW footer will be loaded, which closes several connections.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
117
doc/sgml/devinfra.sgml
Normal file
117
doc/sgml/devinfra.sgml
Normal file
@ -0,0 +1,117 @@
|
||||
<chapter id="devinfra">
|
||||
<title>Infrastructure</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
phpGroupWare attempts to provide developers with a sound directory
|
||||
structure to work from. The directory layout may seem complex at first,
|
||||
but after some use, you will see that it is designed to accommodate a
|
||||
large number of applications and functions.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Directory tree</title>
|
||||
<para>
|
||||
<programlisting>
|
||||
.-- addressbook
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | `-- footer.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- admin
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | `-- admin.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- calendar
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | `-- footer.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- cron
|
||||
|-- doc
|
||||
|-- email
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | |-- preferences.inc.php
|
||||
| | `-- admin.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- filemanager
|
||||
|-- files
|
||||
| |-- groups
|
||||
| `-- users
|
||||
|-- inc
|
||||
| |-- phpgwapi
|
||||
| | |-- phpgw.inc.php
|
||||
| | |-- phpgw_info.inc.php
|
||||
| | |-- phpgw_common.inc.php
|
||||
| | `-- etc...
|
||||
| `-- templates
|
||||
| |-- default
|
||||
| | |-- addressbook
|
||||
| | |-- admin
|
||||
| | |-- calendar
|
||||
| | |-- common
|
||||
| | |-- email
|
||||
| | |-- filemanager
|
||||
| | |-- headlines
|
||||
| | |-- preferences
|
||||
| | |-- todo
|
||||
| | `-- tts
|
||||
| `-- icons
|
||||
| |-- email
|
||||
| |-- calendar
|
||||
| `-- tts
|
||||
|-- preferences
|
||||
| `-- images
|
||||
| | `-- navbar.gif
|
||||
| `-- inc
|
||||
| | |-- functions.inc.php
|
||||
| | |-- header.inc.php
|
||||
| | |-- footer.inc.php
|
||||
| | `-- preferences.inc.php
|
||||
| `-- templates
|
||||
| `-- default
|
||||
|-- themes
|
||||
`-- todo
|
||||
`-- images
|
||||
| `-- navbar.gif
|
||||
`-- inc
|
||||
| |-- functions.inc.php
|
||||
| |-- header.inc.php
|
||||
| `-- footer.inc.php
|
||||
`-- templates
|
||||
`-- default
|
||||
</programlisting>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Translations</title>
|
||||
<para>
|
||||
The translations are now being done thru the database, and will be configurable
|
||||
to use other mechanisms.We are completing a program called Transy, which will
|
||||
provide developers/translators a nice GUI for building and updating translations.
|
||||
In the mean time you will need to create a SQL script yourself and name it lang.sql.
|
||||
You can copy the one in doc/lang.sql and use it as a template.
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
115
doc/sgml/devinst.sgml
Normal file
115
doc/sgml/devinst.sgml
Normal file
@ -0,0 +1,115 @@
|
||||
<chapter id="devinstall">
|
||||
<title>Installing your application</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Overview</title>
|
||||
|
||||
<para>It is fairly simple to add and delete applications to/from phpGroupWare.</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Automatic features</title>
|
||||
<para>
|
||||
To make things easy for developers we go ahead and load the following files.
|
||||
<itemizedlist>
|
||||
<listitem><para> <filename>appname/inc/functions.inc.php</filename> - This file should include
|
||||
all your application specific functions.</para></listitem>
|
||||
<listitem><para> <filename>appname/inc/header.inc.php</filename> - This file is loaded by
|
||||
<classname>$phpgw->common->header</classname> just after the system header/navbar,
|
||||
and allows developers to use it for whatever they need to load.</para></listitem>
|
||||
<listitem><para> <filename>appname/inc/footer.inc.php</filename> - This file is loaded by
|
||||
<classname>$phpgw->common->footer</classname> just before the system footer,
|
||||
allowing developers to close connections and whatever else they need.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Adding files, directories and icons.</title>
|
||||
<para>
|
||||
You will need to create the following directories for your code
|
||||
(replace 'appname' with your application name)
|
||||
<programlisting>
|
||||
`-- appname
|
||||
`-- images
|
||||
| `-- navbar.gif
|
||||
`-- inc
|
||||
| |-- functions.inc.php
|
||||
| |-- header.inc.php
|
||||
| |-- footer.inc.php
|
||||
| |-- preferences.inc.php
|
||||
| `-- admin.inc.php
|
||||
`-- templates
|
||||
`-- default
|
||||
</programlisting>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Making phpGroupWare aware of your application</title>
|
||||
<para>
|
||||
To make the application aware of your application, add your application details to the applications table. This can be done via the GUI administration screen, or via a SQL script.
|
||||
<programlisting>
|
||||
insert into applications (app_name, app_title, app_enabled) values ('appname', 'The App name', 1);
|
||||
</programlisting>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Hooking into Administration page</title>
|
||||
<para>
|
||||
When a user goes to the Administration page, it stats appname/inc/admin.inc.php
|
||||
for each application that is enabled, in alphabetical order of application title.
|
||||
If the file exists, it is include()d in the hopes it will display a selection of
|
||||
links to configure that application.
|
||||
|
||||
Simple Example:
|
||||
<programlisting>
|
||||
<?php
|
||||
$img = "/" . $appname . "/images/navbar.gif";
|
||||
section_start("My Application",$img);
|
||||
echo "<a HREF=\"" . $phpgw->link("myAdminPage.php") . "\">";
|
||||
echo lang("Change myApp settings") . "</a>";
|
||||
section_end();
|
||||
?>
|
||||
</programlisting>
|
||||
Look at headlines/inc/admin.inc.php and admin/inc/admin.inc.php for more examples.
|
||||
|
||||
Things to note:
|
||||
<itemizedlist mark=bullet>
|
||||
<listitem><para>Links are relative to the <filename>admin/index.php</filename> file, not your
|
||||
application's base directory. (so use <classname>$appname</classname> in your
|
||||
<classname>link()</classname> calls)</para></listitem>
|
||||
<listitem><para>The file is brought in with include() so be careful to not pollute the name-space
|
||||
too much</para></listitem>
|
||||
</itemizedlist>
|
||||
The standard $phpgw and $phpgw_info variables are in-scope, as is $appname
|
||||
which corresponds to the application name in the path.
|
||||
|
||||
There are 2 functions to coordinate the display of each application's links,
|
||||
section_start() and section_end()
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>section_start</title>
|
||||
<para>
|
||||
<classname>section_start($title,$icon_url)</classname>
|
||||
starts the section for your application. <classname>$title</classname> is passed through
|
||||
<classname>lang()</classname>
|
||||
for you. <classname>$icon_url</classname> should be page-relative to admin/index.php or
|
||||
an absolute URL.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>section_end</title>
|
||||
<para>
|
||||
<classname>section_end()</classname> closes the section that was started with section_start().
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Hooking into Preferences page</title>
|
||||
<para>
|
||||
The mechanism to hook into the preferences page is identical to the one used to
|
||||
hook into the administration page, however it looks for
|
||||
<filename>appname/inc/preferences.inc.php</filename> instead of
|
||||
<filename>appname/inc/admin.inc.php</filename>. The same functions and variables are defined.
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
||||
|
29
doc/sgml/devintro.sgml
Normal file
29
doc/sgml/devintro.sgml
Normal file
@ -0,0 +1,29 @@
|
||||
<chapter id="devintro">
|
||||
<title>Introduction</title>
|
||||
<para>
|
||||
phpGroupWare is a web based groupware application framework (API),
|
||||
for writing applications. Integrated applications such as email,
|
||||
calendar, todo list, address book, and file manager are included.
|
||||
</para>
|
||||
|
||||
<simplesect>
|
||||
<title>Overview of application writing</title>
|
||||
<para>
|
||||
We have attempted to make writing application for phpGroupWare as
|
||||
painless as possible. We hope any pain and suffering is cause by making
|
||||
your application work, but not dealing with phpGroupWare itself.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>What does the phpGroupWare API provide?</title>
|
||||
<para>
|
||||
The phpGroupWare API handles session management, user/group management,
|
||||
has support for multiple databases, using the PHPLIB database abstraction
|
||||
method, we support templates using the PHPLIB Templates class, a file
|
||||
system interface, and even a network i/o interface. On top of these
|
||||
standard functions, phpGroupWare provides several functions to give
|
||||
you the information you need about the users environment, and to properly
|
||||
plug into phpGroupWare.
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
162
doc/sgml/devlangsup.sgml
Normal file
162
doc/sgml/devlangsup.sgml
Normal file
@ -0,0 +1,162 @@
|
||||
<chapter id="devlangsup">
|
||||
<title>Using Language Support</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
phpGroupWare is built using a multi-language support scheme. This means the pages can be
|
||||
translated to other languages very easily. Translations of text strings are
|
||||
stored in the phpGroupWare database, and can be modified by the phpGroupWare
|
||||
administrator.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>How to use lang support</title>
|
||||
<para>
|
||||
The <classname>lang()</classname> function is your application's interface to phpGroupWare's
|
||||
internationalization support.
|
||||
|
||||
While developing your application, just wrap all your text output with calls to
|
||||
lang(), as in the following code:
|
||||
<programlisting>
|
||||
$x = 42;
|
||||
echo lang("The counter is %1",$x)."<br>";
|
||||
</programlisting>
|
||||
This will attempt to translate "The counter is %1", and return a translated version
|
||||
based on the current application and language in use. Note how the position that
|
||||
<classname>$x</classname> will end up is controlled by the format string, <emphasis>not</emphasis> by
|
||||
building up the string in your code. This allows your application to be translated
|
||||
to languages where the actual number is not placed at the end of the string.
|
||||
|
||||
When a translation is not found, the original text will be returned with a * after
|
||||
the string. This makes it easy to develop your application, then go back and
|
||||
add missing translations (identified by the *) later.
|
||||
|
||||
Without a specific translation in the lang table, the above code will print:
|
||||
<classname>
|
||||
The counter is 42*<br>
|
||||
</classname>
|
||||
If the current user speaks Italian, they string returned may instead be:
|
||||
<classname>
|
||||
il contatore è 42<br>
|
||||
</classname>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>The lang function</title>
|
||||
<para>
|
||||
<classname>lang($key, $m1="", $m2="", $m3="", $m4="", $m5="",
|
||||
$m6="", $m7="", $m8="", $m9="", $m10="")
|
||||
</classname>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>$key</term>
|
||||
<listitem>
|
||||
<para>is the string to translate and may contain replacement directives of the form <classname>%n</classname>. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>$m1</term>
|
||||
<listitem>
|
||||
<para> is the first replacement value or may be an array of replacement values (in which case $m2 and above are ignored). </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>$m2</term>
|
||||
<listitem>
|
||||
<para>- $m10/ the 2nd through 10th replacement values if $m1 is not an array. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
The database is searched for rows with a <classname>lang.message_id</classname> that matches <classname>$key</classname>.
|
||||
If a translation is not found, the original <classname>$key</classname> is used. The translation engine then replaces
|
||||
all tokens of the form <classname>%N</classname> with the Nth parameter (either <classname>$m1[N]</classname> or <classname>$mN</classname>).
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Adding translation data</title>
|
||||
<para>
|
||||
An application called <emphasis>Transy</emphasis> is being developed to make this easier, until then you can create
|
||||
the translation data manually.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>The lang table</title>
|
||||
<para>
|
||||
The translation class uses the lang table for all translations.
|
||||
We are concerned with 4 of the columns to create a translation:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>message_id</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The key to identify the message (the <classname>$key</classname> passed
|
||||
to the <classname>lang()</classname> function). This is written in English.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>app_name</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The application the translation applies to, or
|
||||
<classname>common</classname> if it is common across multiple applications.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>lang</term>
|
||||
<listitem>
|
||||
<para>The code for the language the translation is in. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>content</term>
|
||||
<listitem>
|
||||
<para>The translated string. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>lang.sql</title>
|
||||
<para>
|
||||
Currently all applications, and the core phpGroupWare source tree
|
||||
have a <classname>lang.sql</classname> file. This is the place to add translation
|
||||
data. Just add lines of the form:
|
||||
<programlisting>
|
||||
REPLACE INTO lang (message_id, app_name, lang, content)
|
||||
VALUES( 'account has been deleted','common','en','Account has been deleted');
|
||||
</programlisting>
|
||||
translating the <classname>content</classname> to reflect the <classname>message_id</classname> string in the <classname>lang</classname> language.
|
||||
If the string is specific to your application, put your application name in for <classname>app_name</classname>
|
||||
otherwise use the name <classname>common</classname>. The <classname>message_id</classname> should be in lower case for a small
|
||||
increase in speed.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Common return codes</title>
|
||||
<para>
|
||||
If you browse through the phpGroupWare sources, you may notice
|
||||
a pattern to the return codes used in the higher-level functions.
|
||||
The codes used are partially documented in the <classname>doc/developers/CODES</classname>
|
||||
file.
|
||||
|
||||
Codes are used as a simple way to communicate common error and progress
|
||||
conditions back to the user. They are mapped to a text string through the
|
||||
<classname>check_code()</classname> function, which passes the strings through
|
||||
<classname>lang()</classname> before returning.
|
||||
|
||||
For example, calling
|
||||
<programlisting>
|
||||
echo check_code(13);
|
||||
</programlisting>
|
||||
Would print
|
||||
<classname>
|
||||
Your message has been sent
|
||||
</classname>
|
||||
translated into the current language.
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
19
doc/sgml/devtemp.sgml
Normal file
19
doc/sgml/devtemp.sgml
Normal file
@ -0,0 +1,19 @@
|
||||
<chapter id="devtemp">
|
||||
<title>Using Templates</title>
|
||||
|
||||
<simplesect>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
phpGroupWare is built using a templates based design. This means the display pages, stored in tpl files, can be translated to other languages, made to look completely different.
|
||||
</para>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>How to use templates</title>
|
||||
<para>
|
||||
Some instructions on using templates.
|
||||
</para>
|
||||
<para>
|
||||
For Further info read the PHPLIBs documentation for their template class.
|
||||
</para>
|
||||
</simplesect>
|
||||
</chapter>
|
Loading…
Reference in New Issue
Block a user