egroupware/doc/developers/phpGW_Developers-HOWTO-5.html
2000-08-18 03:24:22 +00:00

145 lines
4.4 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE> phpGroupWare Application Development: The API</TITLE>
<LINK HREF="phpGW_Developers-HOWTO-6.html" REL=next>
<LINK HREF="phpGW_Developers-HOWTO-4.html" REL=previous>
<LINK HREF="phpGW_Developers-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="phpGW_Developers-HOWTO-6.html">Next</A>
<A HREF="phpGW_Developers-HOWTO-4.html">Previous</A>
<A HREF="phpGW_Developers-HOWTO.html#toc5">Contents</A>
<HR>
<H2><A NAME="s5">5. The API</A></H2>
<H2><A NAME="ss5.1">5.1 Introduction</A>
</H2>
<P>phpGroupWare attempts to provide developers with a useful API to handle common tasks.<BR>
To do this we have created a multi-dimensional class $phpgw->.<BR>
This allows for terrific code organization, and help developers easily identify the file that the function is in.
All the files that are patr of this class are in the inc/core directory and are named to match the sub-class.<BR>
Example:
<CODE>$phpgw->msg->send()</CODE> is in the <CODE>inc/core/phpgw_msg.inc.php</CODE> file.
<H2><A NAME="ss5.2">5.2 Basic functions</A>
</H2>
<H3>$phpgw->link</H3>
<P><CODE>$phpgw->link($url)</CODE><BR>
Add support for session management. ALL links must use this, that includes href's form actions and header location's.<BR>
If you are just doing a form action back to the same page, you can use it without any paramaters.<BR>
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:
<HR>
<PRE>
&lt;form name=copy method=post action="&lt;?php echo $phpgw->link();?>">
/* If session management is done via passing url paramaters */
/* The the result would be */
/* &lt;form name=copy method=post action="somepage.php?sessionid=87687693276?kp3=kjh98u80"> */
</PRE>
<HR>
<H2><A NAME="ss5.3">5.3 Application Functions</A>
</H2>
<P>
<H3>$phpgw->common->appsession</H3>
<P><CODE>$phpgw->common->appsession($data)</CODE><BR>
Store important information session information that your application needs.<BR>
<CODE>$phpgw->appsession</CODE> will return the value of your session data is you leave the paramater enmpty [i.e. <CODE>$phpgw->appsession("")</CODE>], otherwise it will store whatever data you send to it.<BR>
You can also store a comma delimited string and use <CODE>explode()</CODE> to turn it back into an array when you recieve the value back.<BR>
Example:
<HR>
<PRE>
$phpgw->common->appsession("/path/to/something");
echo "Dir: " . $phpgw->common->appsession();
</PRE>
<HR>
<H2><A NAME="ss5.4">5.4 File functions</A>
</H2>
<H3>$phpgw->vfs->read_file</H3>
<P><CODE>$phpgw->vfs->read_file($file)</CODE><BR>
Returns the data from $file.<BR>
You must send the complete path to the file.<BR>
Example:
<HR>
<PRE>
$data = $phpgw->vfs->read_file("/some/dir/to/file.txt");
</PRE>
<HR>
<P>
<H3>$phpgw->vfs->write_file</H3>
<P><CODE>$phpgw->vfs->write_file($file, $contents)</CODE><BR>
Write data to $file.<BR>
You must send the complete path to the file.<BR>
Example:
<HR>
<PRE>
$data = $phpgw->vfs->write_file("/some/dir/to/file.txt");
</PRE>
<HR>
<P>
<H3>$phpgw->vfs->read_userfile</H3>
<P><CODE>$phpgw->vfs->read_userfile($file)</CODE><BR>
Returns the data from $file, which resides in the users private dir.<BR>
Example:
<HR>
<PRE>
$data = $phpgw->vfs->read_userfile("file.txt");
</PRE>
<HR>
<P>
<H3>$phpgw->vfs->write_userfile</H3>
<P><CODE>$phpgw->write_userfile($file, $contents)</CODE><BR>
Writes data to $file, which resides in the users private dir.<BR>
Example:
<HR>
<PRE>
$data = $phpgw->vfs->write_userfile("file.txt");
</PRE>
<HR>
<P>
<H3>$phpgw->vfs->list_userfiles</H3>
<P><CODE>$phpgw->vfs->list_userfiles()</CODE><BR>
Returns an array which has the list of files in the users private dir.<BR>
Example:
<HR>
<PRE>
$filelist = array();
$filelist = $phpgw->vfs->list_userfiles();
</PRE>
<HR>
<H2><A NAME="ss5.5">5.5 Email/NNTP Functions</A>
</H2>
<P>
<P>
<H3>$phpgw->send->msg</H3>
<P><CODE>$phpgw->msg->send($service, $to, $subject, $body, $msgtype, $cc, $bcc)</CODE><BR>
Send a message via email or NNTP and returns any error codes.<BR>
Example:
<HR>
<PRE>
$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>
<HR>
<HR>
<A HREF="phpGW_Developers-HOWTO-6.html">Next</A>
<A HREF="phpGW_Developers-HOWTO-4.html">Previous</A>
<A HREF="phpGW_Developers-HOWTO.html#toc5">Contents</A>
</BODY>
</HTML>