Author: glen Date: Wed Jul 14 16:35:50 2010 GMT Module: packages Tag: HEAD ---- Log message: - fix forum_id filter, closes also restriction skip on THISONE filter (i did not check acl)
---- Files affected: packages/phorum-mod-sphinx_search: phorum-mod-sphinx_search.spec (1.11 -> 1.12) , forum_id-filter.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec diff -u packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec:1.11 packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec:1.12 --- packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec:1.11 Wed Jul 14 18:34:55 2010 +++ packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec Wed Jul 14 18:35:45 2010 @@ -20,6 +20,7 @@ Patch4: doc-updates.patch Patch5: defaultport.patch Patch6: sphinx_api.patch +Patch7: forum_id-filter.patch URL: http://www.phorum.org/phorum5/read.php?62,136982,138325 BuildRequires: rpm-php-pearprov BuildRequires: rpmbuild(macros) >= 1.553 @@ -60,6 +61,7 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 # php-sphinx rm sphinxclient.php @@ -88,6 +90,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.12 2010/07/14 16:35:45 glen +- fix forum_id filter, closes also restriction skip on THISONE filter (i did not check acl) + Revision 1.11 2010/07/14 16:34:55 glen - fix sphinx api ================================================================ Index: packages/phorum-mod-sphinx_search/forum_id-filter.patch diff -u /dev/null packages/phorum-mod-sphinx_search/forum_id-filter.patch:1.1 --- /dev/null Wed Jul 14 18:35:50 2010 +++ packages/phorum-mod-sphinx_search/forum_id-filter.patch Wed Jul 14 18:35:45 2010 @@ -0,0 +1,48 @@ +--- ./sphinx_search.php 2010-07-14 19:30:16.278208412 +0300 ++++ /usr/share/phorum/mods/sphinx_search/sphinx_search.php 2010-07-14 19:31:49.977588050 +0300 +@@ -66,23 +65,29 @@ + + } + +- // add the forum(s) to search +- if($arrSearch['match_forum'] == 'THISONE') { +- $forumid_clean = (int)$PHORUM['forum_id']; +- $sphinx->SetFilter ( "forum_id", array($forumid_clean) ); +- +- } else { +- +- // have to check what forums they can read first. +- // $allowed_forums=phorum_user_access_list(PHORUM_USER_ALLOW_READ); +-// $allowed_forums=phorum_user_access_list(PHORUM_USER_ALLOW_READ); +- $allowed_forums = phorum_api_user_check_access(PHORUM_USER_ALLOW_READ, PHORUM_ACCESS_LIST); +- +- // if they are not allowed to search any forums, return the emtpy $arr; +- if(empty($allowed_forums) || ($PHORUM['forum_id']>0 && !in_array($PHORUM['forum_id'], $allowed_forums)) ) return $arr; ++ // Check what forums the active Phorum user can read. ++ $allowed_forums = phorum_api_user_check_access( ++ PHORUM_USER_ALLOW_READ, PHORUM_ACCESS_LIST ++ ); ++ ++ // If the user is not allowed to search any forum or the current ++ // active forum, then return the emtpy search results array. ++ if (empty($allowed_forums) || ($PHORUM['forum_id']>0 && !in_array($PHORUM['forum_id'], $allowed_forums))) { ++ return array('count' => 0, 'rows' => array()); ++ } + +- $sphinx->SetFilter ( "forum_id", $allowed_forums ); +- } ++ // Prepare forum_id restriction. ++ $search_forums = array(); ++ foreach (explode(',', $arrSearch['match_forum']) as $forum_id) { ++ if ($forum_id == 'ALL') { ++ $search_forums = $allowed_forums; ++ break; ++ } ++ if (isset($allowed_forums[$forum_id])) { ++ $search_forums[] = $forum_id; ++ } ++ } ++ $sphinx->SetFilter("forum_id", $search_forums); + + // set the sort-mode + $sphinx->SetSortMode(SPH_SORT_ATTR_DESC,"datestamp"); ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/phorum-mod-sphinx_search/phorum-mod-sphinx_search.spec?r1=1.11&r2=1.12&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
