PHP Classes

File: example.libSiteMessage.php

Recommend this page to a friend!
  Classes of Cornelius Bolten   libSiteMessage   example.libSiteMessage.php   Download  
File: example.libSiteMessage.php
Role: Example script
Content type: text/plain
Description: this is the example-script
Class: libSiteMessage
Web based messaging system for community sites
Author: By
Last change:
Date: 19 years ago
Size: 5,910 bytes
 

Contents

Class file image Download
<html>
    <head>
        <title></title>
        <style>
            .info {
                border:1px solid red;
                background:#D6E6C6;
                color:black;
                font-weight:bolder;
                padding:3px;
            }
            .finish {
                border:1px solid green;
                background:#D6E6C6;
                color:black;
                font-weight:bolder;
                padding:3px;
            }
        </style>
    </head>
    <body>

<?php
   
// http://webdev/libSiteMessage/example.SiteMessage.php
   
    // Read from Top to the bottom. otherways you may not
    // understand this script. though it's quite simple,
    // read the comments!!
    // thanks.

    // SET ERROR_REPORTING TO ERRORs ONLY
    // OTHERWAYs WE WILL HAVE ALL THE SQLITE-WARNINGS...
   
error_reporting(E_ERROR);

   
// INCLUDE NEEDED LIBs
   
include_once("lib.SiteMessage.php");
    include_once(
"lib.SiteMessageFolder.php");
    include_once(
"lib.SiteMessageException.php");

   
// CREATE DATABASE AND TABLEs
   
$db = sqlite_open('libSiteMessage', 0666, $sqliteerror);
   
$error = sqlite_query($db, "
        CREATE TABLE libSiteMessage (
            sm_id INTEGER PRIMARY KEY NOT NULL,
            sm_sender_id INTEGER NOT NULL,
            sm_receiver_id INTEGER NOT NULL,
            sm_subject_data TEXT NOT NULL,
            sm_message_data TEXT NOT NULL,
            sm_message_date VARCHAR(15) NOT NULL,
            sm_message_read VARCHAR(15) NULL,
            sm_folder_id INTEGER NULL,
            UNIQUE (sm_id)
        );
    "
);
   
$error = sqlite_query($db, "
        CREATE TABLE libSiteMessageFolders (
            sm_folder_id INTEGER PRIMARY KEY NOT NULL,
            sm_user_id INTEGER NOT NULL,
            sm_folder_name VARCHAR(50) NOT NULL,
            sm_parent_id INTEGER(10) NULL,
            sm_folder_date VARCHAR(15) NOT NULL,
            UNIQUE (sm_user_id,sm_folder_name)
        );
    "
);
   
   

   
/**
    * TRY TO OPEN FOLDER ID 1, IF IT DOESN't EXIST,
    * CREATE A NEW FOLDER(INBOX) FOR USERID 1
    *
    * SiteMessageFolder::open()
    * SiteMessageFolder::create()
    **/
   
$myFolder = new SiteMessageFolder($db);
    try {
       
// OPEN
       
$myFolder->open(1);
        echo
"<pre class=\"info\">-> opened Folder</pre>";
    } catch (
FolderNotAvailableException $e) {
       
// CREATE
       
$myFolder->create("INBOX","1");
        echo
"<pre class=\"info\">-> created Folder</pre>";
    } catch (
SQLiteException $e) {
       
// DIE BECAUSE OF SQL-ERROR
       
die($e->getMessage());
    }
   
   
/**
    * SOME TESTs
    *
    * SiteMessageFolder::getName()
    * SiteMessageFolder::getDate()
    * SiteMessageFolder::hasSubfolder()
    * SiteMessageFolder::hasMessage()
    **/
   
echo "<pre>Foldername: ".$myFolder->getName()."</pre>";
    echo
"<pre>created: ".date("H:i:s d.m.Y", $myFolder->getDate())."</pre>";
    echo
"<pre>Subfolders: ".$myFolder->hasSubfolder()."</pre>";
    echo
"<pre>Messages: ".$myFolder->hasMessage()."</pre>";
   
   
   
/**
    * SOME TESTs
    *
    * SiteMessageFolder::setName()
    **/
   
try {
        switch(
$myFolder->getName()) {
            case
"INBOX": echo "<pre class=\"info\">-> renaming folder from INBOX to OUTBOX...</pre>";
                           
$myFolder->setName("OUTBOX");
                            break;
            case
"OUTBOX": echo "<pre class=\"info\">-> renaming folder from OUTBOX to INBOX...</pre>";
                           
$myFolder->setName("INBOX");
                            break;
        }
    } catch (
SQLiteException $e) {
        die(
$e->getMessage());
    }
   
   
/**
    * SOME TESTs
    *
    * SiteMessageFolder::getName()
    **/
   
echo "<pre>Foldername: ".$myFolder->getName()."</pre>";
   
   
   
/**
    * Create a Subfolder of Folder #1
    */
   
echo "<pre class=\"info\">-> creating subfolder</pre>";
   
$myFolder->create("SUB1",1,1);
   
$myFolder->open(1);
       
   
/**
    * SOME TESTs
    *
    * SiteMessageFolder::hasSubfolder()
    **/
   
echo "<pre>Subfolders: ".$myFolder->hasSubfolder()."</pre>";
   
$mySubFolder = $myFolder->getSubfolder(1);
   
   
/**
    * SOME TESTs ON SUBFOLDER
    *
    * SiteMessageFolder::getName()
    * SiteMessageFolder::getDate()
    * SiteMessageFolder::hasSubfolder()
    * SiteMessageFolder::hasMessage()
    **/
   
echo "<pre class=\"info\">-> showing subfolder-infos</pre>";
    echo
"<pre>Foldername: ".$mySubFolder->getName()."</pre>";
    echo
"<pre>created: ".date("H:i:s d.m.Y", $mySubFolder->getDate())."</pre>";
    echo
"<pre>Subfolders: ".$mySubFolder->hasSubfolder()."</pre>";
    echo
"<pre>Messages: ".$mySubFolder->hasMessage()."</pre>";
   
   
/**
    * SOME TESTs
    *
    * SiteMessage::create()
    * SiteMessageFolder::hasMessage()
    **/
   
$myMessage = new SiteMessage($db);
    try {
        if(
$myMessage->create(1,1,"This is the subject","This is the text")) {
            echo
"<pre class=\"info\">-> creating a message</pre>";
        }
    } catch (
SQLiteException $e) {
       
// DIE BECAUSE OF SQL-ERROR
       
die($e->getMessage());
    }
   
   
/**
    * SOME TESTs
    * Move the newly created message into INBOX-Folder (id:1)
    */
   
echo "<pre class=\"info\">-> moving message to folder INBOX.</pre>";
   
$myMessage->setFolder(1);
   
   
/**
    * SOME TESTs
    * SiteMessageFolder::hasMessage()
    **/
   
echo "<pre>Messages: ".$myFolder->hasMessage()."</pre>";
   
   
/**
    * SOME TESTs
    *
    * SiteMessage::getSender()
    * SiteMessage::getReceiver()
    * SiteMessage::getSubject()
    * SiteMessage::getText()
    * SiteMessage::getDate()
    **/
   
echo "<pre class=\"info\">-> show Message-Informations</pre>";
    echo
"<pre>Sender(id): ".$myMessage->getSender()."</pre>";
    echo
"<pre>Receiver(id): ".$myMessage->getReceiver()."</pre>";
    echo
"<pre>Folder(id): ".$myMessage->getFolder()."</pre>";
    echo
"<pre>Date: ".date("H:i:s d.m.Y", $myMessage->getDate())."</pre>";
    echo
"<pre>Subject: ".$myMessage->getSubject()."</pre>";
    echo
"<pre>Text: ".$myMessage->getText()."</pre>";
   
   
/**
    * SOME TESTs
    * Deleting Folder #1
    * comment out, to keep all messages, folders, etc.
    */
   
echo "<pre class=\"info\">-> Deleting Folder (id:1) and all Subfolders/Messages</pre>";
   
$myFolder->delete();
   
    echo
"<pre class=\"finish\">That's it. All Messages and Folders have been deleted.
            <p>Be inspired </p> Have fun! <p>- Cornelius -</p></pre>"
;
?>

    </body>
</html>