|
From: Verdon V. <ve...@us...> - 2008-02-04 19:29:42
|
Update of /cvsroot/phpwebsite-comm/modules/rolodex/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10405/class Modified Files: RDX_Forms.php RDX_Member.php Log Message: a few tweaks to list Index: RDX_Forms.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/rolodex/class/RDX_Forms.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RDX_Forms.php 4 Feb 2008 04:16:21 -0000 1.2 --- RDX_Forms.php 4 Feb 2008 19:29:43 -0000 1.3 *************** *** 100,109 **** function listMembers($approved=null, $expired=false) { ! PHPWS_Core::initModClass('rolodex', 'RDX_Member.php'); PHPWS_Core::initCoreClass('DBPager.php'); if (isset($approved) && $approved == 1) { $ptags['ALPHA_CLICK'] = $this->rolodex->alpha_click(); } $ptags['TITLE_HEADER'] = dgettext('rolodex', 'Title'); $ptags['DATE_UPDATED_HEADER'] = dgettext('rolodex', 'Updated'); --- 100,113 ---- function listMembers($approved=null, $expired=false) { ! /* init the classes */ PHPWS_Core::initModClass('rolodex', 'RDX_Member.php'); PHPWS_Core::initCoreClass('DBPager.php'); + + /* add the alpha click list for approved lists */ if (isset($approved) && $approved == 1) { $ptags['ALPHA_CLICK'] = $this->rolodex->alpha_click(); } + + /* set the column headings */ $ptags['TITLE_HEADER'] = dgettext('rolodex', 'Title'); $ptags['DATE_UPDATED_HEADER'] = dgettext('rolodex', 'Updated'); *************** *** 115,124 **** --- 119,135 ---- } + /* init the pager */ $pager = new DBPager('rolodex_member', 'Rolodex_Member'); $pager->setModule('rolodex'); + $pager->db->addColumn('demographics.*'); + $pager->db->addColumn('rolodex_member.*'); + $pager->db->addWhere('rolodex_member.user_id', 'demographics.user_id'); + + /* approved yes/no */ if (isset($approved)) { $pager->addWhere('active', $approved); } + /* expired yes/no */ if (PHPWS_Settings::get('rolodex', 'enable_expiry')) { if ($expired) { *************** *** 129,176 **** } ! $pager->db->addColumn('demographics.*'); ! $pager->db->addColumn('rolodex_member.*'); ! $pager->db->addWhere('rolodex_member.user_id', 'demographics.user_id'); ! if (!Current_User::isUnrestricted('rolodex')) { $pager->db->addWhere('active', 1); } if (PHPWS_Settings::get('rolodex', 'sortby')) { $sortby = 'demographics.last_name'; } else { $sortby = 'demographics.business_name'; } if (!$_SESSION['User']->id) { $pager->db->addWhere('rolodex_member.privacy', 0); - if (isset($_REQUEST['browseLetter'])) { - if ($_REQUEST['browseLetter'] == 'Other') { - $pager->db->addWhere($sortby, '^[^a-z]', 'REGEXP'); - } else { - $pager->db->addWhere($sortby, $_REQUEST['browseLetter'].'%', 'LIKE'); - } - } } elseif (!Current_User::allow('rolodex', 'view_privates')) { $pager->db->addWhere('rolodex_member.privacy', 1, '<='); ! if (isset($_REQUEST['browseLetter'])) { ! if ($_REQUEST['browseLetter'] == 'Other') { ! $pager->db->addWhere($sortby, '^[^a-z]', 'REGEXP'); ! } else { ! $pager->db->addWhere($sortby, $_REQUEST['browseLetter'].'%', 'LIKE'); ! } ! } ! } elseif (Current_User::isUnrestricted('rolodex')) { ! if (isset($_REQUEST['browseLetter'])) { ! if ($_REQUEST['browseLetter'] == 'Other') { ! $pager->db->addWhere($sortby, '^[^a-z]', 'REGEXP'); ! } else { ! $pager->db->addWhere($sortby, $_REQUEST['browseLetter'].'%', 'LIKE'); ! } } ! } $pager->setOrder($sortby, 'asc'); $pager->setTemplate('list_member.tpl'); $pager->addRowTags('rowTag'); --- 140,182 ---- } ! /* make sure only unrestricted users see inactive members */ if (!Current_User::isUnrestricted('rolodex')) { $pager->db->addWhere('active', 1); } + /* set the default sort order and title column sort */ if (PHPWS_Settings::get('rolodex', 'sortby')) { $sortby = 'demographics.last_name'; + $pager->joinResult('user_id', 'demographics', 'user_id', 'last_name', 'title'); } else { $sortby = 'demographics.business_name'; + $pager->joinResult('user_id', 'demographics', 'user_id', 'business_name', 'title'); } + /* deal with privacy levels */ if (!$_SESSION['User']->id) { $pager->db->addWhere('rolodex_member.privacy', 0); } elseif (!Current_User::allow('rolodex', 'view_privates')) { $pager->db->addWhere('rolodex_member.privacy', 1, '<='); ! } ! ! /* if the alpha click list is being used */ ! if (isset($_REQUEST['browseLetter'])) { ! if ($_REQUEST['browseLetter'] == 'Other') { ! $pager->db->addWhere($sortby, '^[^a-z]', 'REGEXP'); ! } else { ! $pager->db->addWhere($sortby, $_REQUEST['browseLetter'].'%', 'LIKE'); } ! } + /* the default sort order */ $pager->setOrder($sortby, 'asc'); + /* experiments with advanced join for sort link - moved up to default sort logic */ + // $pager->joinResult('source_col', 'jointotable', 'jointocol', 'coltoreturn', 'optionalalias'); + // $pager->joinResult('rolodex_member.user_id', 'demographics', 'demographics.user_id', 'last_name', 'title'); + // $pager->joinResult('user_id', 'demographics', 'user_id', 'last_name', 'title'); + + /* setup the list page */ $pager->setTemplate('list_member.tpl'); $pager->addRowTags('rowTag'); *************** *** 191,199 **** $pager->addPageTags($ptags); $pager->addToggle('class="toggle1"'); ! $pager->setSearch('demographics.business_name', 'demographics.first_name', 'demographics.last_name'); // print_r($pager); // $pager->db->setTestMode(); $this->rolodex->content = $pager->get(); if (isset($approved) && $approved == 0) { $this->rolodex->title = sprintf(dgettext('rolodex', 'Unapproved %s Members'), PHPWS_Settings::get('rolodex', 'module_title')); --- 197,211 ---- $pager->addPageTags($ptags); $pager->addToggle('class="toggle1"'); ! /// $pager->setSearch('demographics.business_name', 'demographics.first_name', 'demographics.last_name'); ! $pager->setSearch('title'); ! ! /* debug stuff */ // print_r($pager); // $pager->db->setTestMode(); + /* get the final content */ $this->rolodex->content = $pager->get(); + + /* set the list/page title */ if (isset($approved) && $approved == 0) { $this->rolodex->title = sprintf(dgettext('rolodex', 'Unapproved %s Members'), PHPWS_Settings::get('rolodex', 'module_title')); Index: RDX_Member.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/rolodex/class/RDX_Member.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** RDX_Member.php 4 Feb 2008 03:09:16 -0000 1.1.1.1 --- RDX_Member.php 4 Feb 2008 19:29:43 -0000 1.2 *************** *** 83,86 **** --- 83,89 ---- var $_table = 'rolodex_member'; + /* I might need this for the advanced join in list but am unsure */ + var $title = null; + function Rolodex_Member($user_id=null) |