* * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Jeremy Booker <jbooker at tux dot appstate dot edu> */ if (!defined('PHPWS_SOURCE_DIR')) { include '../../config/core/404.html'; exit; } # Include configuration and defines PHPWS_Core::requireInc('faxmaster', 'defines.php'); PHPWS_Core::requireInc('faxmaster', 'errordefines.php'); PHPWS_Core::requireConfig('faxmaster'); Layout::addStyle('faxmaster'); /* The user must be logged in to use this module. So, if * there's no user session, or the user is not logged * in, then return here */ if ((!isset($_SESSION['User']) || !Current_User::isLogged()) && (!isset($_REQUEST['op']) || $_REQUEST['op'] != 'new_fax')) { return; } # Create the Faxmaster PHPWS_Core::initModClass('faxmaster', 'Faxmaster.php'); $fm = new Faxmaster();
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireInc('signup', 'errordefines.php'); PHPWS_Core::requireConfig('signup'); if (!defined('SIGNUP_WINDOW')) { define('SIGNUP_WINDOW', 3600); } class Signup { public $forms = null; public $panel = null; public $title = null; public $message = null; public $content = null; public $sheet = null; public $slot = null; public $peep = null; public $email = null; public function adminMenu() { if (!Current_User::allow('signup')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; $this->loadMessage(); $command = $_REQUEST['aop'];
public function repeatDaily(Calendar_Event $event) { PHPWS_Core::requireConfig('calendar'); $dst_start = date('I', $event->start_time); $time_unit = $event->start_time + 86400; $copy_event = $event->repeatClone(); $time_diff = $event->end_time - $event->start_time; $max_count = 0; while ($time_unit <= $event->end_repeat) { $copy_event->id = 0; $dst_current = date('I', $time_unit); if ($dst_current != $dst_start) { if ($dst_current) { $time_unit -= 3600; } else { $time_unit += 3600; } $dst_start = $dst_current; } $max_count++; if ($max_count > CALENDAR_MAXIMUM_REPEATS) { return PHPWS_Error::get(CAL_REPEAT_LIMIT_PASSED, 'calendar', 'Calendar_Admin::repeatDaily'); } $copy_event->start_time = $time_unit; $copy_event->end_time = $time_unit + $time_diff; $time_unit += 86400; $result = $copy_event->save(); if (PHPWS_Error::isError($result)) { return $result; } } return true; }
<?php /** * Main command class for Calendar module * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('calendar'); PHPWS_Core::requireInc('calendar', 'error_defines.php'); define('MINI_CAL_NO_SHOW', 0); define('MINI_CAL_SHOW_FRONT', 1); define('MINI_CAL_SHOW_ALWAYS', 2); class PHPWS_Calendar { /** * unix timestamp of today * @var integer */ public $today = 0; /** * unix timestamp according to passed variables * @var integer */ public $current_date = 0; /** * month number based on current_date * @var integer */ public $int_month = null; /**
public static function import() { $source_http = PHPWS_SOURCE_HTTP; $script = "<script src='{$source_http}mod/rss/javascript/feed.js'></script>"; javascript('jquery'); \Layout::addJSHeader($script); PHPWS_Core::requireConfig('rss'); if (!ini_get('allow_url_fopen')) { $tpl['TITLE'] = dgettext('rss', 'Sorry'); $tpl['CONTENT'] = dgettext('rss', 'You must enable allow_url_fopen in your php.ini file.'); return $tpl; } PHPWS_Core::initCoreClass('DBPager.php'); PHPWS_Core::initModClass('rss', 'Feed.php'); $content = NULL; $template['ADD_LINK'] = '<button class="btn btn-success edit-feed"><i></i> Add Feed</button>'; /* $vars['address'] = 'index.php?module=rss&command=add_feed'; $vars['label'] = dgettext('rss', 'Add feed'); $vars['width'] = '450'; $vars['height'] = '350'; $template['ADD_LINK'] = javascript('open_window', $vars); * */ $template['TITLE_LABEL'] = dgettext('rss', 'Title'); $template['ADDRESS_LABEL'] = dgettext('rss', 'Address'); $template['DISPLAY_LABEL'] = dgettext('rss', 'Display?'); $template['ACTION_LABEL'] = dgettext('rss', 'Action'); $template['REFRESH_TIME_LABEL'] = dgettext('rss', 'Refresh feed'); $modal = new \Modal('rss-modal'); $modal->addButton('<button class="btn btn-primary" id="save-feed"><i class="fa fa-save"></i> Save</button>'); $modal_content = RSS_Admin::editFeed(); $modal->setContent($modal_content); $modal->setTitle('Edit feed'); $modal->setWidthPixel('400'); $template['MODAL'] = $modal->get(); $pager = new DBPager('rss_feeds', 'RSS_Feed'); $pager->setModule('rss'); $pager->setTemplate('admin_feeds.tpl'); $pager->addPageTags($template); $pager->addRowTags('pagerTags'); $content = $pager->get(); $tpl['TITLE'] = dgettext('rss', 'Import RSS Feeds'); $tpl['CONTENT'] = $content; if (!defined('ALLOW_CACHE_LITE') || !ALLOW_CACHE_LITE) { $tpl['MESSAGE'] = dgettext('rss', 'Please enable Cache Lite in your config/core/config.php file.'); } return $tpl; }
public function view($level = '1', $admin = false) { \PHPWS_Core::requireConfig('menu'); static $current_parent = array(); $current_link = false; $current_key = Key::getCurrent(); if (!empty($current_key)) { if ($this->childIsCurrent($current_key)) { $current_parent[] = $this->id; } if (!$current_key->isDummy() && $current_key->id == $this->key_id || $current_key->url == $this->url) { $current_link = true; $current_parent[] = $this->id; $template['CURRENT_LINK'] = MENU_CURRENT_LINK_STYLE; $template['ACTIVE'] = 'active'; // booststrap theme } } if (!isset($template['CURRENT_LINK']) && $this->isCurrentUrl()) { $current_link = true; $current_parent[] = $this->id; $template['CURRENT_LINK'] = MENU_CURRENT_LINK_STYLE; $template['ACTIVE'] = 'active'; // booststrap theme } if ($this->childIsCurrentUrl()) { $current_parent[] = $this->id; } if ($this->_menu->_show_all || $current_link || $this->parent == 0 || in_array($this->parent, $current_parent)) { $link = $this->getAnchorTag($admin); $template['LINK'] = $link; $template['LINK_URL'] = $this->url; $template['LINK_DROPDOWN'] = 'dropdown'; // Dummy tag to make dropdowns work $template['LINK_TEXT'] = $this->title; if (!empty($this->_children)) { foreach ($this->_children as $kid) { $kid->_menu =& $this->_menu; if ($kid_link = $kid->view($level + 1, $admin)) { $sublinks[] = $kid_link; } } if (!empty($sublinks)) { $template['SUBLINK'] = implode("\n", $sublinks); } $template['PARENT_ID'] = sprintf('menu-parent-%s', $this->id); } $template['LEVEL'] = $level; $template['ID'] = $this->id; $tpl_file = 'menu_layout/' . $this->_menu->template . '/link.tpl'; return PHPWS_Template::process($template, 'menu', $tpl_file); } else { return NULL; } }
<?php /** * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ PHPWS_Core::requireConfig('filecabinet'); PHPWS_Core::initModClass('filecabinet', 'File_Common.php'); define('GENERIC_VIDEO_ICON', PHPWS_SOURCE_HTTP . 'mod/filecabinet/img/video_generic.jpg'); define('GENERIC_AUDIO_ICON', PHPWS_SOURCE_HTTP . 'mod/filecabinet/img/audio.png'); class PHPWS_Multimedia extends File_Common { public $width = 0; public $height = 0; public $thumbnail = null; /** * In seconds */ public $duration = 0; public $embedded = 0; public $_classtype = 'multimedia'; public function __construct($id = 0) { $this->loadAllowedTypes(); $this->setMaxSize(PHPWS_Settings::get('filecabinet', 'max_multimedia_size')); if (empty($id)) { return; } $this->id = (int) $id; $result = $this->init(); if (PHPWS_Error::isError($result)) {
<?php /** * Initializes the menu class * * @author Matthew McNaney <mcnaney at gmail dot com * @version $Id$ */ PHPWS_Core::requireConfig('menu', 'config.php'); PHPWS_Core::initModClass('menu', 'Menu.php');
* the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @version $Id$ * @author Verdon Vaillancourt <verdonv at gmail dot com> */ PHPWS_Core::requireConfig('whatsnew'); class Whatsnew { var $forms = null; var $panel = null; var $title = null; var $message = null; var $content = null; function adminMenu() { if (!Current_User::allow('whatsnew')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; $this->loadMessage();
<?php /** * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ if (!defined('PHPWS_SOURCE_DIR')) { include '../../core/conf/404.html'; exit; } PHPWS_Core::requireConfig('boost'); if (DEITY_ACCESS_ONLY && !Current_User::isDeity()) { Current_User::disallow(); } if (!Current_User::authorized('boost')) { Current_User::disallow(); } if (!isset($_REQUEST['action'])) { PHPWS_Core::errorPage(404); } $js = false; $content = array(); PHPWS_Core::initModClass('boost', 'Form.php'); PHPWS_Core::initModClass('controlpanel', 'Panel.php'); PHPWS_Core::initModClass('boost', 'Action.php'); $boostPanel = new PHPWS_Panel('boost'); $boostPanel->enableSecure(); Boost_Form::setTabs($boostPanel); $vars = array('action' => 'admin', 'tab' => $boostPanel->getCurrentTab()); $backToBoost = PHPWS_Text::secureLink(dgettext('boost', 'Return to Boost'), 'boost', $vars); switch ($_REQUEST['action']) {
<?php /** * User instructions * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('search'); class Search_User { public static function main() { if (!isset($_GET['user'])) { PHPWS_Core::errorPage('404'); } $command = $_GET['user']; switch ($command) { case 'search': Search_User::searchPost(); break; default: PHPWS_Core::errorPage('404'); break; } } public static function searchBox() { if (SEARCH_DEFAULT) { $onclick = sprintf('onclick="if(this.value == \'%s\')this.value = \'\';"', SEARCH_DEFAULT); }
* it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Base class with functionality shared by Property and roommate * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> * @package * @license http://opensource.org/licenses/gpl-3.0.html */ \PHPWS_Core::requireConfig('properties', 'defines.php'); abstract class Room_Base { public $id; public $active = true; public $airconditioning = 0; /** * Near appalcart * @var boolean */ public $appalcart = 0; public $clubhouse = 0; public $cut_off_date = 0; /** * distance from campus figured in increments with lower bound * determining amount
* Controls the text parsing and profanity controls for phpWebSite * Also contains extra HTML utilities * * See core/conf/text_settings.php for configuration options * * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> * @author Adam Morton * @author Steven Levin * @author Don Seiler <*****@*****.**> * @package Core */ if (!defined('UTF8_MODE')) { define('UTF8_MODE', false); } PHPWS_Core::requireConfig('core', 'text_settings.php'); PHPWS_Core::initCoreClass('Link.php'); if (!defined('PHPWS_HOME_HTTP')) { define('PHPWS_HOME_HTTP', './'); } if (!defined('ENCODE_PARSED_TEXT')) { define('ENCODE_PARSED_TEXT', true); } if (!defined('USE_BREAKER')) { define('USE_BREAKER', true); } if (!defined('ALLOW_SCRIPT_TAGS')) { define('ALLOW_SCRIPT_TAGS', false); } /** * Changing this to FALSE will _ALLOW SCRIPT TAGS_!
<?php /** * Class containing all user information * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ if (!defined('USERS_AUTH_PATH')) { define('USERS_AUTH_PATH', PHPWS_SOURCE_DIR . 'mod/users/scripts/'); } PHPWS_Core::initModClass('users', 'Permission.php'); PHPWS_Core::initModClass('users', 'Authorization.php'); PHPWS_Core::requireConfig('users'); require_once PHPWS_SOURCE_DIR . 'mod/users/inc/errorDefines.php'; if (!defined('ALLOWED_USERNAME_CHARACTERS')) { define('ALLOWED_USERNAME_CHARACTERS' . '\\w'); } class PHPWS_User { public $id = 0; public $username = null; public $deity = false; public $active = true; // id of authorizing file for user public $authorize = 0; public $last_logged = 0; public $log_count = 0; public $created = 0; public $updated = 0; // if true, they have been approved to log in
<?php /** * Simple class to add a module's administrator commands to a box * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('miniadmin'); if (!defined('MINIADMIN_TEMPLATE')) { define('MINIADMIN_TEMPLATE', 'mini_admin.html'); } class MiniAdmin { public static function add($module, $links) { if (is_array($links)) { foreach ($links as $link) { MiniAdmin::add($module, $link); } return true; } $GLOBALS['MiniAdmin'][$module]['links'][] = $links; return true; } public static function get() { if (!\Current_User::isLogged()) { return; } $modlist = PHPWS_Core::getModuleNames();
<?php /** * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ PHPWS_Core::requireInc('pagesmith', 'error_defines.php'); PHPWS_Core::requireConfig('pagesmith'); if (!defined('PS_ALLOWED_HEADER_TAGS')) { define('PS_ALLOWED_HEADER_TAGS', '<b><strong><i><u><em>'); } if (!defined('PS_CHECK_CHAR_LENGTH')) { define('PS_CHECK_CHAR_LENGTH', true); } class PageSmith { public $forms = null; public $panel = null; public $title = null; public $message = null; public $content = null; public $page = null; public function admin() { if (!Current_User::allow('pagesmith')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; switch ($_REQUEST['aop']) { case 'block_info':
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('layout', 'config.php'); PHPWS_Core::initModClass('layout', 'Layout.php');
public function rowTags() { PHPWS_Core::requireConfig('filecabinet', 'config.php'); if (FC_ICON_PAGER_LINKS) { $mode = 'icon'; $spacer = ''; } else { $mode = null; $spacer = ' | '; } //$icon = sprintf('<img src="%s" />', $this->icon); $vars['aop'] = 'view_folder'; $vars['folder_id'] = $this->id; $tpl['TITLE'] = PHPWS_Text::moduleLink($this->title, 'filecabinet', $vars); $tpl['ITEMS'] = $this->tallyItems(); if (Current_User::allow('filecabinet', 'edit_folders', $this->id, 'folder')) { $links[] = $this->editLink('image'); $links[] = $this->uploadLink('icon'); } if (Current_User::allow('filecabinet', 'edit_folders', $this->id, 'folder', true)) { if ($this->key_id) { $links[] = Current_User::popupPermission($this->key_id, null, $mode); } } if (Current_User::allow('filecabinet', 'delete_folders', null, null, true)) { $links[] = $this->deleteLink('image'); } $mods = PHPWS_Core::getModuleNames(); if ($this->module_created && isset($mods[$this->module_created])) { $tpl['MODULE_CREATED'] = $mods[$this->module_created]; } else { $tpl['MODULE_CREATED'] = dgettext('filecabinet', 'General'); } $tpl['PUBLIC'] = $this->getPublic(); if (@$links) { $tpl['LINKS'] = implode($spacer, $links); } return $tpl; }
<?php /** * Administration of blocks * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('block'); class Block_Admin { public static function action() { if (!Current_User::allow('block')) { Current_User::disallow(); return; } $panel = Block_Admin::cpanel(); if (isset($_REQUEST['action'])) { $action = $_REQUEST['action']; } else { $tab = $panel->getCurrentTab(); if (empty($tab)) { $action = 'new'; } else { $action =& $tab; } } $content = Block_Admin::route($action); $panel->setContent($content); $finalPanel = $panel->display();
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ PHPWS_Core::requireConfig('controlpanel'); PHPWS_Core::initModClass('controlpanel', 'Tab.php'); class PHPWS_Panel { public $itemname = null; public $tabs = null; public $content = null; public $module = null; public $panel = null; public $_secure = false; public function __construct($itemname = null) { if (isset($itemname)) { $this->setItemname($itemname); } } public function disableSecure() { $this->_secure = false; } public function enableSecure() { $this->_secure = true; } public function quickSetTabs($tabs)
public static function import() { PHPWS_Core::requireConfig('rss'); if (!ini_get('allow_url_fopen')) { $tpl['TITLE'] = dgettext('rss', 'Sorry'); $tpl['CONTENT'] = dgettext('rss', 'You must enable allow_url_fopen in your php.ini file.'); return $tpl; } PHPWS_Core::initCoreClass('DBPager.php'); PHPWS_Core::initModClass('rss', 'Feed.php'); $content = NULL; $vars['address'] = 'index.php?module=rss&command=add_feed'; $vars['label'] = dgettext('rss', 'Add feed'); $vars['width'] = '450'; $vars['height'] = '350'; $template['ADD_LINK'] = javascript('open_window', $vars); $template['TITLE_LABEL'] = dgettext('rss', 'Title'); $template['ADDRESS_LABEL'] = dgettext('rss', 'Address'); $template['DISPLAY_LABEL'] = dgettext('rss', 'Display?'); $template['ACTION_LABEL'] = dgettext('rss', 'Action'); $template['REFRESH_TIME_LABEL'] = dgettext('rss', 'Refresh feed'); $pager = new DBPager('rss_feeds', 'RSS_Feed'); $pager->setModule('rss'); $pager->setTemplate('admin_feeds.tpl'); $pager->addPageTags($template); $pager->addRowTags('pagerTags'); $content = $pager->get(); $tpl['TITLE'] = dgettext('rss', 'Import RSS Feeds'); $tpl['CONTENT'] = $content; if (!defined('ALLOW_CACHE_LITE') || !ALLOW_CACHE_LITE) { $tpl['MESSAGE'] = dgettext('rss', 'Please enable Cache Lite in your config/core/config.php file.'); } return $tpl; }
<?php /** * Main administrative control class for Access * * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ define('SHORTCUT_BAD_KEYWORD', 1); define('SHORTCUT_WORD_IN_USE', 2); define('SHORTCUT_MISSING_KEYWORD', 3); define('SHORTCUT_MISSING_URL', 4); define('ACCESS_FILES_DIR', 5); define('ACCESS_HTACCESS_WRITE', 6); define('ACCESS_HTACCESS_MISSING', 7); PHPWS_Core::requireConfig('access'); class Access { public static function main() { $title = $content = NULL; $message = Access::getMessage(); if (!Current_User::allow('access')) { Current_User::disallow(); exit; } $panel = Access::cpanel(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } else { $command = $panel->getCurrentTab();
<?php /** * Controls the viewing and layout of the site * * @version $Id$ * @author Matt McNaney <mcnaney at gmail dot com> * @package Core */ PHPWS_Core::requireConfig('layout'); require_once PHPWS_SOURCE_DIR . 'mod/layout/class/Functions.php'; if (!defined('LAYOUT_IGNORE_JS_CHECK')) { define('LAYOUT_IGNORE_JS_CHECK', false); } /* * ******** Errors *************** */ define('LAYOUT_SESSION_NOT_SET', -1); define('LAYOUT_NO_CONTENT', -2); define('LAYOUT_NO_THEME', -3); define('LAYOUT_BAD_JS_DATA', -4); define('LAYOUT_JS_FILE_NOT_FOUND', -5); define('LAYOUT_BOX_ORDER_BROKEN', -6); define('LAYOUT_INI_FILE', -7); define('LAYOUT_BAD_THEME_VAR', -8); if (!defined('LAYOUT_THEME_EXEC')) { define('LAYOUT_THEME_EXEC', false); } if (!defined('XML_MODE')) { define('XML_MODE', false); } if (!defined('LAYOUT_FORCE_MOD_JS')) { define('LAYOUT_FORCE_MOD_JS', false);
<?php /** * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ if (isset($_REQUEST['module']) && $_REQUEST['module'] == 'phatform') { PHPWS_Core::requireConfig('phatform', 'phatform.php'); PHPWS_Core::initModClass('phatform', 'Form.php'); PHPWS_Core::initModClass('phatform', 'FormManager.php'); PHPWS_Core::initModClass('phatform', 'Report.php'); PHPWS_Core::initModClass('phatform', 'Element.php'); PHPWS_Core::initModClass('phatform', 'Checkbox.php'); PHPWS_Core::initModClass('phatform', 'Dropbox.php'); PHPWS_Core::initModClass('phatform', 'Multiselect.php'); PHPWS_Core::initModClass('phatform', 'Radiobutton.php'); PHPWS_Core::initModClass('phatform', 'Textarea.php'); PHPWS_Core::initModClass('phatform', 'Textfield.php'); define('DEFAULT_REPLY_ADDRESS', "forms@{$_SERVER['SERVER_NAME']}"); /** * error definitions */ define('PHATFORM_INVALID_NAME', 101); define('PHATFORM_ZERO_OPTIONS', 102); define('PHATFORM_VALUE_MISSING', 103); define('PHATFORM_ASSOC_TEXT', 104); define('PHATFORM_OPTION_PBL', 105); define('PHATFORM_OPTION_WONT_SAVE', 106); define('PHATFORM_ELEMENT_FAIL', 107); define('PHATFORM_VALUES_NOT_SET', 108); define('PHATFORM_VAL_OPT_NOT_SET', 109);
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @modified Olivier Sannier * @version $Id$ */ PHPWS_Core::requireConfig('rss'); if (!defined('CURRENT_LANGUAGE')) { define('CURRENT_LANGUAGE', 'en_US'); } class RSS_Channel { public $id = 0; public $module = NULL; public $title = NULL; // public $link = NULL; public $description = NULL; public $pub_date = 0; public $ttl = 0; public $image_id = 0; // public $text_input = NULL; public $active = 1; public $_last_build_date = 0; public $_feeds = NULL; public $_error = NULL; public function rssDate($timestamp = null) { /*** set the timestamp ***/ $timestamp = $timestamp == null ? time() : $timestamp; /*** Mon, 02 Jul 2009 11:36:45 +0000 ***/
* * $mail->addSendTo($send_to); * $mail->setSubject($subject); * $mail->setFrom($from); * $mail->setReplyTo($reply_to); * $mail->addCarbonCopy($carbon); * $mail->addBlindCopy($blind); * $mail->setMessageBody($message); * $result = $mail->send(); * * result will either be true or a Pear error object * * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ PHPWS_Core::requireConfig('core', 'mail_settings.php'); class PHPWS_Mail { public $send_to = array(); public $subject_line = null; public $from_address = null; public $reply_to_address = null; public $carbon_copy = null; public $blind_copy = null; public $message_body = null; public $html_body = null; public $message_tpl = null; public $send_individually = true; public $backend_type = MAIL_BACKEND; public function addSendTo($address) {