From: <luc...@us...> - 2015-02-03 22:32:22
|
Revision: 12965 http://sourceforge.net/p/xoops/svn/12965 Author: luciorota Date: 2015-02-03 22:32:13 +0000 (Tue, 03 Feb 2015) Log Message: ----------- xoosp 2.5.7.1 compatible change directory structure improved subscr form standardize code code cleanup Modified Paths: -------------- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/catsubscr.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/common.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php Added Paths: ----------- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.tpl XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/session.php Removed Paths: ------------- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/session.php XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/xNewsletter_common_breadcrumb.tpl Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -172,6 +172,7 @@ } $GLOBALS['xoopsTpl']->assign('subscrs_pagenav', $pagenav); // + xoops_load('XoopsFormLoader'); $filter_subscr_criteria_select = new XoopsFormSelect(_AM_XNEWSLETTER_LETTER_TITLE, 'filter_subscr_criteria', $filter_subscr_criteria, 1, false); $filter_subscr_criteria_select->addOption('CONTAINS', _CONTAINS); $filter_subscr_criteria_select->addOption('MATCHES', _MATCHES); @@ -260,7 +261,7 @@ echo $subscrAdmin->renderButton(); // $subscrObj = $xnewsletter->getHandler('subscr')->create(); - $form = $subscrObj->getFormAdmin(); + $form = $subscrObj->getFormAdmin(); $form->display(); include_once __DIR__ . '/admin_footer.php'; break; @@ -283,16 +284,70 @@ $subscrObj->setVar('subscr_actkey', $_REQUEST['subscr_actkey']); $subscrObj->setVar('subscr_activated', XoopsRequest::getInt('subscr_activated', 0)); // - if ($xnewsletter->getHandler('subscr')->insert($subscrObj)) { - redirect_header('?op=list_subscrs', 3, _AM_XNEWSLETTER_FORMOK); + if (!$xnewsletter->getHandler('subscr')->insert($subscrObj)) { + // render start here + xoops_cp_header(); + // render form + echo $subscrObj->getHtmlErrors(); + $form = $subscrObj->getFormAdmin(); + $form->display(); + include_once __DIR__ . '/admin_footer.php'; + exit(); } - // render start here - xoops_cp_header(); - // render form - echo $subscrObj->getHtmlErrors(); - $form = $subscrObj->getFormAdmin(); - $form->display(); - include_once __DIR__ . '/admin_footer.php'; + // + $cat_ids = XoopsRequest::getArray('cat_ids', array()); + $subscr_id = $subscrObj->getVar('subscr_id'); + $catObjs = $xnewsletter->getHandler('cat')->getAll(); + foreach ($catObjs as $cat_id => $catObj) { + $catsubscrCriteria = new CriteriaCompo(); + $catsubscrCriteria->add(new Criteria('catsubscr_catid', $cat_id)); + $catsubscrCriteria->add(new Criteria('catsubscr_subscrid', $subscr_id)); + $catsubscrCount = $xnewsletter->getHandler('catsubscr')->getCount($catsubscrCriteria); + if (in_array($cat_id, $cat_ids)) { + // checked + switch($catsubscrCount) { + case 0: + // create catsubscr + $catsubscrObj = $xnewsletter->getHandler('catsubscr')->create(); + $catsubscrObj->setVar('catsubscr_catid', $cat_id); + $catsubscrObj->setVar('catsubscr_subscrid', $subscr_id); + $catsubscrObj->setVar('catsubscr_submitter', $_REQUEST['subscr_uid']); + $catsubscrObj->setVar('catsubscr_created', $_REQUEST['subscr_created']); + $xnewsletter->getHandler('catsubscr')->insert($catsubscrObj); + break; + case 1: + // NOP + break; + default: + // delete all catsubscrs + $xnewsletter->getHandler('catsubscr')->deleteAll($catsubscrCriteria); + // create catsubscr + $catsubscrObj = $xnewsletter->getHandler('catsubscr')->create(); + $catsubscrObj->setVar('catsubscr_catid', $cat_id); + $catsubscrObj->setVar('catsubscr_subscrid', $subscr_id); + $catsubscrObj->setVar('catsubscr_submitter', $_REQUEST['subscr_uid']); + $catsubscrObj->setVar('catsubscr_created', $_REQUEST['subscr_created']); + $xnewsletter->getHandler('catsubscr')->insert($catsubscrObj); + break; + } + } else { + // not checked + switch($catsubscrCount) { + case 0: + // NOP + break; + case 1: + // delete catsubscr + $xnewsletter->getHandler('catsubscr')->deleteAll($catsubscrCriteria); + break; + default: + // delete all catsubscrs + $xnewsletter->getHandler('catsubscr')->deleteAll($catsubscrCriteria); + break; + } + } + } + redirect_header('?op=list_subscrs', 3, _AM_XNEWSLETTER_FORMOK); break; case 'edit_subscr': Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/catsubscr.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/catsubscr.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/catsubscr.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -74,6 +74,13 @@ // $form = new XoopsThemeForm($title, 'form', $action, 'post', true); $form->setExtra('enctype="multipart/form-data"'); + // catsubsr: catsubscr_subscrid + $subscrCriteria = new CriteriaCompo(); + $subscrCriteria->setSort('subscr_email '); + $subscrCriteria->setOrder('ASC'); + $subscr_select = new XoopsFormSelect(_AM_XNEWSLETTER_CATSUBSCR_SUBSCRID, 'catsubscr_subscrid', $this->getVar('catsubscr_subscrid')); + $subscr_select->addOptionArray($this->xnewsletter->getHandler('subscr')->getList($subscrCriteria)); + $form->addElement($subscr_select, true); // catsubsr: catsubscr_catid $criteria = new CriteriaCompo(); $criteria->setSort('cat_id ASC, cat_name'); @@ -81,16 +88,8 @@ $cat_select = new XoopsFormSelect(_AM_XNEWSLETTER_CATSUBSCR_CATID, 'catsubscr_catid', $this->getVar('catsubscr_catid')); $cat_select->addOptionArray($this->xnewsletter->getHandler('cat')->getList()); $form->addElement($cat_select, true); - // catsubsr: catsubscr_subscrid - $subscrCriteria = new CriteriaCompo(); - $subscrCriteria->setSort('subscr_email '); - $subscrCriteria->setOrder('ASC'); - $subscr_select = new XoopsFormSelect(_AM_XNEWSLETTER_CATSUBSCR_SUBSCRID, 'catsubscr_subscrid', $this->getVar('catsubscr_subscrid')); - $subscr_select->addOptionArray($this->xnewsletter->getHandler('subscr')->getList($subscrCriteria)); - $form->addElement($subscr_select, true); - // + // form: catsubscr_quit_now $quited_tray = new XoopsFormElementTray(_AM_XNEWSLETTER_CATSUBSCR_QUITED, ' '); - // $quit_now = new XoopsFormRadio('', 'catsubscr_quit_now', _XNEWSLETTER_CATSUBSCR_QUIT_NO_VAL_NONE); $quit_now->addOptionArray( array( Added: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.php (rev 0) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -0,0 +1,86 @@ +<?php +/* + You may not change or alter any portion of this comment or credits + of supporting developers from this source code or any supporting source code + which is considered copyrighted (c) material of the original comment or credit authors. + + 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. + */ +/** + * XnewsletterBreadcrumb Class + * + * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ + * @license http://www.fsf.org/copyleft/gpl.html GNU public license + * @author lucio <luc...@gm...> + * @package Xnewsletter + * @since 1.00 + * @version $Id:$ + * + * Example: + * $breadcrumb = new XnewsletterBreadcrumb(); + * $breadcrumb->addLink( 'bread 1', 'index1.php' ); + * $breadcrumb->addLink( 'bread 2', '' ); + * $breadcrumb->addLink( 'bread 3', 'index3.php' ); + * echo $breadcrumb->render(); + */ +defined('XOOPS_ROOT_PATH') || die('XOOPS root path not defined'); + +/** + * Class XnewsletterBreadcrumb + */ +class XnewsletterBreadcrumb +{ + private $dirname; + private $_bread = array(); + + /** + * + */ + public function __construct() + { + $this->dirname = basename(dirname(dirname(__DIR__))); + } + + /** + * Add link to breadcrumb + * + * @param string $title + * @param string $link + */ + public function addLink( $title='', $link='' ) + { + $this->_bread[] = array( + 'link' => $link, + 'title' => $title + ); + } + + /** + * Render Xnewsletter BreadCrumb + * + */ + public function render() + { + $ret = ''; + + if (!isset($GLOBALS['xoTheme']) || !is_object($GLOBALS['xoTheme'])) { + include_once $GLOBALS['xoops']->path('/class/theme.php'); + $GLOBALS['xoTheme'] = new xos_opal_Theme(); + } + require_once $GLOBALS['xoops']->path('/class/template.php'); + $breadcrumbTpl = new XoopsTpl(); + $breadcrumbTpl->assign('breadcrumb', $this->_bread); +// IN PROGRESS +// IN PROGRESS +// IN PROGRESS + //$ret .= $breadcrumbTpl->fetch(__DIR__ . '_breadcrumb.tpl'); + $tplSource = file_get_contents(__DIR__ . '/breadcrumb.tpl'); +// $ret .= $choiceByLetterTpl->fetchFromData($tplSource, false, null); + $ret .= $breadcrumbTpl->fetchFromData($tplSource, false, null); + unset($breadcrumbTpl); + + return $ret; + } +} Added: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.tpl =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.tpl (rev 0) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/breadcrumb.tpl 2015-02-03 22:32:13 UTC (rev 12965) @@ -0,0 +1,16 @@ +<div class="module_skeleton_headertable"> + <div class="module_skeleton_breadcrumb"> + <{foreach item=bread from=$breadcrumb name=bcloop}> + <span class="bread"> + <{if ($bread.link)}> + <a href="<{$bread.link}>" title="<{$bread.title}>"><{$bread.title}></a> + <{else}> + <{$bread.title}> + <{/if}> + </span> + <{if !$smarty.foreach.bcloop.last}> + <span class="delimiter">></span> + <{/if}> + <{/foreach}> + </div> +</div> Added: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/session.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/session.php (rev 0) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/common/session.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -0,0 +1,110 @@ +<?php +/* + You may not change or alter any portion of this comment or credits + of supporting developers from this source code or any supporting source code + which is considered copyrighted (c) material of the original comment or credit authors. + + 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. + */ +/** + * XnewsletterSession class + * + * @copyright The XUUPS Project http://sourceforge.net/projects/xuups/ + * @license http://www.fsf.org/copyleft/gpl.html GNU public license + * @package xnewsletter + * @since 1.3 + * @author trabis <lus...@gm...> + * @author Harry Fuecks (PHP Anthology Volume II) + * @version svn:$id$ + */ +defined('XOOPS_ROOT_PATH') || die('XOOPS root path not defined'); + +include_once dirname(dirname(__DIR__)) . '/include/common.php'; + +/** + * Class XnewsletterSession + */ +class XnewsletterSession +{ + /** + * Session constructor<br /> + * Starts the session with session_start() + * <strong>Note:</strong> that if the session has already started, + * session_start() does nothing + */ + protected function __construct() + { + @session_start(); + } + + /** + * Sets a session variable + * + * @param string $name name of variable + * @param mixed $value value of variable + * + * @return void + * @access public + */ + public function set($name, $value) + { + $_SESSION[$name] = $value; + } + + /** + * Fetches a session variable + * + * @param string $name name of variable + * + * @return mixed value of session variable + * @access public + */ + public function get($name) + { + if (isset($_SESSION[$name])) { + return $_SESSION[$name]; + } else { + return false; + } + } + + /** + * Deletes a session variable + * + * @param string $name name of variable + * + * @return void + * @access public + */ + public function del($name) + { + unset($_SESSION[$name]); + } + + /** + * Destroys the whole session + * + * @return void + * @access public + */ + public function destroy() + { + $_SESSION = array(); + session_destroy(); + } + + /** + * @return XnewsletterSession + */ + public static function &getInstance() + { + static $_sess; + if (!isset($_sess)) { + $_sess = new XnewsletterSession(); + } + + return $_sess; + } +} Deleted: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/session.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/session.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/session.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -1,109 +0,0 @@ -<?php -/* - You may not change or alter any portion of this comment or credits - of supporting developers from this source code or any supporting source code - which is considered copyrighted (c) material of the original comment or credit authors. - - 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. - */ -/** - * XnewsletterSession class - * - * @copyright The XUUPS Project http://sourceforge.net/projects/xuups/ - * @license http://www.fsf.org/copyleft/gpl.html GNU public license - * @package xnewsletter - * @since 1.3 - * @author trabis <lus...@gm...> - * @author Harry Fuecks (PHP Anthology Volume II) - * @version svn:$id$ - */ - -include_once dirname(__DIR__) . '/include/common.php'; - -/** - * Class XnewsletterSession - */ -class XnewsletterSession -{ - /** - * Session constructor<br /> - * Starts the session with session_start() - * <strong>Note:</strong> that if the session has already started, - * session_start() does nothing - */ - protected function __construct() - { - @session_start(); - } - - /** - * Sets a session variable - * - * @param string $name name of variable - * @param mixed $value value of variable - * - * @return void - * @access public - */ - public function set($name, $value) - { - $_SESSION[$name] = $value; - } - - /** - * Fetches a session variable - * - * @param string $name name of variable - * - * @return mixed value of session variable - * @access public - */ - public function get($name) - { - if (isset($_SESSION[$name])) { - return $_SESSION[$name]; - } else { - return false; - } - } - - /** - * Deletes a session variable - * - * @param string $name name of variable - * - * @return void - * @access public - */ - public function del($name) - { - unset($_SESSION[$name]); - } - - /** - * Destroys the whole session - * - * @return void - * @access public - */ - public function destroy() - { - $_SESSION = array(); - session_destroy(); - } - - /** - * @return XnewsletterSession - */ - public static function &getInstance() - { - static $_sess; - if (!isset($_sess)) { - $_sess = new XnewsletterSession(); - } - - return $_sess; - } -} Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/class/subscr.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -48,7 +48,7 @@ $this->initVar('subscr_email', XOBJ_DTYPE_TXTBOX, '', false, 255); $this->initVar('subscr_firstname', XOBJ_DTYPE_TXTBOX, '', true, 255); $this->initVar('subscr_lastname', XOBJ_DTYPE_TXTBOX, '', false, 255); - $this->initVar('subscr_uid', XOBJ_DTYPE_INT, null, false); + $this->initVar('subscr_uid', XOBJ_DTYPE_INT, 0, false); // default: anonymous $this->initVar('subscr_sex', XOBJ_DTYPE_TXTBOX, '', false, 100); $this->initVar('subscr_submitter', XOBJ_DTYPE_INT, null, false); $this->initVar('subscr_created', XOBJ_DTYPE_INT, time(), false); @@ -115,7 +115,8 @@ public function getForm($action = false) { global $xoopsUser; - // + $gperm_handler = xoops_gethandler('groupperm'); + $user_handler = xoops_gethandler('user'); xoops_load('XoopsFormLoader'); // if ($action === false) { @@ -123,10 +124,12 @@ } // $isAdmin = xnewsletter_userIsAdmin(); - $groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(0 => XOOPS_GROUP_ANONYMOUS); // + $uid = (is_object($GLOBALS['xoopsUser']) && isset($GLOBALS['xoopsUser'])) ? $GLOBALS['xoopsUser']->uid() : 0; + $groups = is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->getGroups() : array(0 => XOOPS_GROUP_ANONYMOUS); + // $title = $this->isNew() ? sprintf(_MA_XNEWSLETTER_SUBSCRIPTION_ADD) : sprintf(_MA_XNEWSLETTER_SUBSCRIPTION_EDIT); - $form = new XoopsThemeForm($title, 'form', $action, 'post', true); + $form = new XoopsThemeForm($title, 'form', $action, 'post', true); $form->setExtra('enctype="multipart/form-data"'); // $form->addElement(new XoopsFormLabel("<span style='text-decoration:underline'>" . _MA_XNEWSLETTER_SUBSCRIPTION_INFO_PERS . "</span>", '')); @@ -155,17 +158,11 @@ // $form->addElement(new XoopsFormLabel('<br/><br/>', '')); // get newsletters available for current user - $opt_cat = array(); - $opt_tray = new XoopsFormElementTray("<span style='text-decoration:underline'>" . _MA_XNEWSLETTER_SUBSCRIPTION_CATS_AVAIL . "</span>", "<br />"); - $opt_tray->setDescription(_MA_XNEWSLETTER_SUBSCRIPTION_CATS_AVAIL_DESC); - $gperm_handler = xoops_gethandler('groupperm'); - $uid = (is_object($GLOBALS['xoopsUser']) && isset($GLOBALS['xoopsUser'])) ? $GLOBALS['xoopsUser']->uid() : 0; - $groups = is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->getGroups() : array(0 => XOOPS_GROUP_ANONYMOUS); // cats[], existing_catsubcr_id_{$cat_id}, existing_catsubscr_quited_{$cat_id} $catCriteria = new CriteriaCompo(); $catCriteria->setSort('cat_id'); $catCriteria->setOrder('ASC'); - $catObjs = $this->xnewsletter->getHandler('cat')->getAll($catCriteria); + $catObjs = $this->xnewsletter->getHandler('cat')->getAll($catCriteria); $cat_checkbox = new XoopsFormCheckBox(_MA_XNEWSLETTER_SUBSCRIPTION_SELECT_CATS, "cats", null, '<br />'); $cat_checkbox->setDescription(_MA_XNEWSLETTER_SUBSCRIPTION_CATS_AVAIL_DESC); $values = array(); @@ -177,16 +174,16 @@ // get existing catsubscr $catsubscrCriteria = new CriteriaCompo(); $catsubscrCriteria->add(new Criteria('catsubscr_catid', $cat_id)); - $catsubscrCriteria->add(new Criteria('catsubscr_subscrid', $subscr_id)); + $catsubscrCriteria->add(new Criteria('catsubscr_subscrid', $this->getVar('subscr_id'))); $catsubscrCriteria->setLimit(1); $catsubscrObjs = $this->xnewsletter->getHandler('catsubscr')->getObjects($catsubscrCriteria); if (isset($catsubscrObjs[0])) { - $values[] = $cat_id; + $values[] = $cat_id; $catsubscr_quited = $catsubscrObjs[0]->getVar('catsubscr_quited'); - $catsubscr_id = $catsubscrObjs[0]->getVar('catsubscr_id'); + $catsubscr_id = $catsubscrObjs[0]->getVar('catsubscr_id'); } else { $catsubscr_quited = 0; - $catsubscr_id = 0; + $catsubscr_id = 0; } $name = $catObj->getVar('cat_name'); $name .= "<div>" . $catObj->getVar('cat_info', 's') . "</div>"; @@ -225,10 +222,9 @@ return $form; } - //********************************************************************************************** - // form for admin aerea ******************************************************************* - //********************************************************************************************** /** + * Form for admin area + * * * * @param bool $action * * @return XoopsThemeForm @@ -236,7 +232,8 @@ public function getFormAdmin($action = false) { global $xoopsUser; - // + $gperm_handler = xoops_gethandler('groupperm'); + $user_handler = xoops_gethandler('user'); xoops_load('XoopsFormLoader'); // if ($action === false) { @@ -244,26 +241,87 @@ } // $isAdmin = xnewsletter_userIsAdmin(); - $groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(0 => XOOPS_GROUP_ANONYMOUS); + $subscr_uid = $this->getVar('subscr_uid'); + $subscr_xoopsUser = $user_handler->get($subscr_uid); + $subscr_groups = is_object($subscr_xoopsUser) ? $subscr_xoopsUser->getGroups() : array(0 => XOOPS_GROUP_ANONYMOUS); // $title = $this->isNew() ? sprintf(_AM_XNEWSLETTER_SUBSCR_ADD) : sprintf(_AM_XNEWSLETTER_SUBSCR_EDIT); $form = new XoopsThemeForm($title, 'form', $action, 'post', true); $form->setExtra('enctype="multipart/form-data"'); + // subscr: subscr_email + if ($subscr_id > 0 || $this->getVar('subscr_email') != '') { + $form->addElement(new XoopsFormLabel(_AM_XNEWSLETTER_SUBSCR_EMAIL, $this->getVar('subscr_email'))); + $form->addElement(new XoopsFormHidden('subscr_email', $this->getVar('subscr_email'))); + } else { + $form->addElement(new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_EMAIL, 'subscr_email', 50, 255, $this->getVar('subscr_email')), true); + } // subscr: subscr_sex - $form->addElement(new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_EMAIL, 'subscr_email', 50, 255, $this->getVar('subscr_email')), true); - $select_subscr_sex = new XoopsFormSelect(_AM_XNEWSLETTER_SUBSCR_SEX, 'subscr_sex', $this->getVar('subscr_sex')); - $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_EMPTY, _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY); - $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_FEMALE, _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE); - $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_MALE, _AM_XNEWSLETTER_SUBSCR_SEX_MALE); - $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_COMP, _AM_XNEWSLETTER_SUBSCR_SEX_COMP); - $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_FAMILY, _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY); - $form->addElement($select_subscr_sex); + if ($this->xnewsletter->getConfig('xn_use_salutation') == 1) { + $select_subscr_sex = new XoopsFormSelect(_AM_XNEWSLETTER_SUBSCR_SEX, 'subscr_sex', $this->getVar('subscr_sex')); + $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_EMPTY, _AM_XNEWSLETTER_SUBSCR_SEX_EMPTY); + $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_FEMALE, _AM_XNEWSLETTER_SUBSCR_SEX_FEMALE); + $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_MALE, _AM_XNEWSLETTER_SUBSCR_SEX_MALE); + $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_COMP, _AM_XNEWSLETTER_SUBSCR_SEX_COMP); + $select_subscr_sex->addOption(_AM_XNEWSLETTER_SUBSCR_SEX_FAMILY, _AM_XNEWSLETTER_SUBSCR_SEX_FAMILY); + $form->addElement($select_subscr_sex); + } // subscr: subscr_firstname $form->addElement(new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_FIRSTNAME, 'subscr_firstname', 50, 255, $this->getVar('subscr_firstname')), false); // subscr: subscr_lastname $form->addElement(new XoopsFormText(_AM_XNEWSLETTER_SUBSCR_LASTNAME, 'subscr_lastname', 50, 255, $this->getVar('subscr_lastname')), false); // subscr: subscr_uid $form->addElement(new XoopsFormSelectUser(_AM_XNEWSLETTER_SUBSCR_UID, 'subscr_uid', true, $this->getVar('subscr_uid'), 1, false), false); + // subscr: subscr_activated + $form->addElement(new XoopsFormRadioYN(_AM_XNEWSLETTER_SUBSCR_ACTIVATED, 'subscr_activated', $this->getVar('subscr_activated'))); + // get newsletters available for subscr + // cats[], existing_catsubcr_id_{$cat_id}, existing_catsubscr_quited_{$cat_id} + $catCriteria = new CriteriaCompo(); + $catCriteria->setSort('cat_id'); + $catCriteria->setOrder('ASC'); + $catObjs = $this->xnewsletter->getHandler('cat')->getAll($catCriteria); + $cat_checkbox = new XoopsFormCheckBox(_MA_XNEWSLETTER_SUBSCRIPTION_SELECT_CATS, "cat_ids", null, '<br />'); + $cat_checkbox->setDescription(_MA_XNEWSLETTER_SUBSCRIPTION_CATS_AVAIL_DESC); + $values = array(); + foreach ($catObjs as $cat_id => $catObj) { + // if anonymous user or Xoops user can read cat... + if ($gperm_handler->checkRight('newsletter_read_cat', $cat_id, XOOPS_GROUP_ANONYMOUS, $this->xnewsletter->getModule()->mid()) + || $gperm_handler->checkRight('newsletter_read_cat', $cat_id, $subscr_groups, $this->xnewsletter->getModule()->mid()) + ) { + // get existing catsubscr + $catsubscrCriteria = new CriteriaCompo(); + $catsubscrCriteria->add(new Criteria('catsubscr_catid', $cat_id)); + $catsubscrCriteria->add(new Criteria('catsubscr_subscrid', $this->getVar('subscr_id'))); + $catsubscrCriteria->setLimit(1); + $catsubscrObjs = $this->xnewsletter->getHandler('catsubscr')->getObjects($catsubscrCriteria); + if (isset($catsubscrObjs[0])) { + $values[] = $cat_id; + $catsubscr_quited = $catsubscrObjs[0]->getVar('catsubscr_quited'); + $catsubscr_id = $catsubscrObjs[0]->getVar('catsubscr_id'); + } else { + $catsubscr_quited = 0; + $catsubscr_id = 0; + } + $name = $catObj->getVar('cat_name'); + $name .= "<div>" . $catObj->getVar('cat_info', 's') . "</div>"; + if ($catsubscr_quited == 0) { + // NOP + } else { + $name .= "<div>"; + $name .= str_replace("%q", formatTimeStamp($catsubscr_quited, $this->xnewsletter->getConfig('dateformat')), _MA_XNEWSLETTER_SUBSCRIPTION_QUITED_DETAIL); + $name .= "</div>"; + } + $name .= "<div style='clear:both'></div>"; + $cat_checkbox->addOption($cat_id, $name); + $form->addElement(new XoopsFormHidden("existing_catsubcr_id_{$cat_id}", $catsubscr_id)); + $form->addElement(new XoopsFormHidden("existing_catsubscr_quited_{$cat_id}", $catsubscr_quited)); + } + } + $cat_checkbox->setValue($values); + $form->addElement($cat_checkbox); + + + + // subscr: subscr_submitter $form->addElement(new XoopsFormHidden('subscr_submitter', $GLOBALS['xoopsUser']->uid())); $form->addElement(new XoopsFormLabel(_AM_XNEWSLETTER_SUBSCR_SUBMITTER, $GLOBALS['xoopsUser']->uname())); @@ -284,7 +342,6 @@ $form->addElement(new XoopsFormHidden('subscr_created', $time)); $form->addElement(new XoopsFormHidden('subscr_ip', $ip)); } - $form->addElement(new XoopsFormRadioYN(_AM_XNEWSLETTER_SUBSCR_ACTIVATED, 'subscr_activated', $this->getVar('subscr_activated'))); // subscr: subscr_actkey $form->addElement(new XoopsFormHidden('subscr_actkey', '')); // form: button tray Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/common.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/common.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/include/common.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -30,12 +30,12 @@ xoops_loadLanguage('common', XNEWSLETTER_DIRNAME); +include_once XNEWSLETTER_ROOT_PATH . '/class/xnewsletter.php'; // XnewsletterXnewsletter class include_once XNEWSLETTER_ROOT_PATH . '/include/config.php'; // IN PROGRESS include_once XNEWSLETTER_ROOT_PATH . '/include/functions.php'; include_once XNEWSLETTER_ROOT_PATH . '/include/constants.php'; -include_once XNEWSLETTER_ROOT_PATH . '/class/session.php'; // XnewsletterSession class -include_once XNEWSLETTER_ROOT_PATH . '/class/xnewsletter.php'; // XnewsletterXnewsletter class -//include_once XNEWSLETTER_ROOT_PATH . '/class/breadcrumb.php'; // XnewsletterBreadcrumb class +include_once XNEWSLETTER_ROOT_PATH . '/class/common/session.php'; // XnewsletterSession class +include_once XNEWSLETTER_ROOT_PATH . '/class/common/breadcrumb.php'; // XnewsletterBreadcrumb class xoops_load('XoopsUserUtility'); xoops_load('XoopsRequest'); Deleted: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/xNewsletter_common_breadcrumb.tpl =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/xNewsletter_common_breadcrumb.tpl 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/xNewsletter_common_breadcrumb.tpl 2015-02-03 22:32:13 UTC (rev 12965) @@ -1,16 +0,0 @@ -<div class="xnewsletter_headertable"> - <div class="xnewsletter_breadcrumb"> - <{foreach item=bread from=$breadcrumb name=bcloop}> - <span class="bread"> - <{if ($bread.link)}> - <a href="<{$bread.link}>" title="<{$bread.title}>"><{$bread.title}></a> - <{else}> - <{$bread.title}> - <{/if}> - </span> - <{if !$smarty.foreach.bcloop.last}> - <span class="delimiter">></span> - <{/if}> - <{/foreach}> - </div> -</div> Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php =================================================================== --- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php 2015-02-03 22:20:34 UTC (rev 12964) +++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php 2015-02-03 22:32:13 UTC (rev 12965) @@ -48,8 +48,8 @@ include_once XOOPS_ROOT_PATH . '/modules/' . $modversion['dirname'] . '/include/constants.php'; // About -$modversion['module_status'] = 'Beta 1'; -$modversion['release_date'] = '2014/12/22'; +$modversion['module_status'] = 'RC 1'; +$modversion['release_date'] = '2015/02/03'; $modversion['module_website_url'] = 'wedega.com'; $modversion['module_website_name'] = 'Webdesign Gabor'; $modversion['min_php'] = '5.3.7'; @@ -308,9 +308,9 @@ $modversion['templates'][$i]['file'] = $modversion['dirname'] . '_protocol.tpl'; $modversion['templates'][$i]['description'] = ''; // Common templates -++$i; -$modversion['templates'][$i]['file'] = $modversion['dirname'] . '_common_breadcrumb.tpl'; -$modversion['templates'][$i]['description'] = ''; + + + // Admin templates ++$i; $modversion['templates'][$i]['file'] = $modversion['dirname'] . '_admin_subscrs_list.tpl'; |