Commit a0997f0d531a14a28aabe1dcf410a8d9038b83b2
1 parent
c8c7ae0d
Merged in from STABLE trunk...
KTS-3376 "The "recent search list" that shows up in the search portlet is sharing everyone's recent searches" Fixed. Committed By: Conrad Vermeulen Reviewed By: Megan Watson git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/branches/3.5.3-Release-Branch@8944 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
60 additions
and
1 deletions
plugins/MyDropDocumentsPlugin/MyDropDocumentsPage.php
| @@ -36,12 +36,12 @@ | @@ -36,12 +36,12 @@ | ||
| 36 | * | 36 | * |
| 37 | */ | 37 | */ |
| 38 | 38 | ||
| 39 | +require_once("config/dmsDefaults.php"); | ||
| 39 | require_once(KT_DIR . "/ktapi/ktapi.inc.php"); | 40 | require_once(KT_DIR . "/ktapi/ktapi.inc.php"); |
| 40 | require_once(KT_LIB_DIR . "/plugins/plugin.inc.php"); | 41 | require_once(KT_LIB_DIR . "/plugins/plugin.inc.php"); |
| 41 | require_once(KT_LIB_DIR . "/plugins/pluginregistry.inc.php"); | 42 | require_once(KT_LIB_DIR . "/plugins/pluginregistry.inc.php"); |
| 42 | require_once(KT_LIB_DIR . "/dashboard/dashlet.inc.php"); | 43 | require_once(KT_LIB_DIR . "/dashboard/dashlet.inc.php"); |
| 43 | require_once(KT_DIR . "/plugins/ktcore/KTFolderActions.php"); | 44 | require_once(KT_DIR . "/plugins/ktcore/KTFolderActions.php"); |
| 44 | -require_once(KT_DIR . "/plugins/network/extendedtransactioninfo/simpletransactionutil.inc.php"); | ||
| 45 | require_once(KT_DIR . "/ktapi/KTAPIFolder.inc.php"); | 45 | require_once(KT_DIR . "/ktapi/KTAPIFolder.inc.php"); |
| 46 | require_once(KT_LIB_DIR . "/roles/Role.inc"); | 46 | require_once(KT_LIB_DIR . "/roles/Role.inc"); |
| 47 | require_once(KT_LIB_DIR . "/roles/roleallocation.inc.php"); | 47 | require_once(KT_LIB_DIR . "/roles/roleallocation.inc.php"); |
| @@ -655,5 +655,64 @@ class MyDropDocumentsPage extends KTStandardDispatcher { | @@ -655,5 +655,64 @@ class MyDropDocumentsPage extends KTStandardDispatcher { | ||
| 655 | } | 655 | } |
| 656 | } | 656 | } |
| 657 | 657 | ||
| 658 | + /* | ||
| 659 | + attempt to abstract the transaction-matching query. | ||
| 660 | + | ||
| 661 | + tables that are already defined (other than sec ones): | ||
| 662 | + | ||
| 663 | + - Documents (D) | ||
| 664 | + - Users (U) | ||
| 665 | + - TransactionTypes (DTT) | ||
| 666 | + - Document Transactions (DT) | ||
| 667 | + | ||
| 668 | + so where clausess can take advantage of those. | ||
| 669 | + | ||
| 670 | + */ | ||
| 671 | + function getTransactionsMatchingQuery($oUser, $sJoinClause, $aExternalWhereClauses, $aExternalWhereParams, $aOptions = null) { | ||
| 672 | + | ||
| 673 | + $sSelectItems = 'DTT.name AS transaction_name, U.name AS user_name, DT.version AS version, DT.comment AS comment, DT.datetime AS datetime, D.id as document_id, DT.transaction_namespace as namespace'; | ||
| 674 | + $sBaseJoin = "FROM " . KTUtil::getTableName("document_transactions") . " AS DT " . | ||
| 675 | + "INNER JOIN " . KTUtil::getTableName("users") . " AS U ON DT.user_id = U.id " . | ||
| 676 | + "INNER JOIN " . KTUtil::getTableName("transaction_types") . " AS DTT ON DTT.namespace = DT.transaction_namespace " . | ||
| 677 | + "INNER JOIN " . KTUtil::getTableName("documents") . " AS D ON D.id = DT.document_id "; | ||
| 678 | + | ||
| 679 | + // now we're almost at partialquery like status. | ||
| 680 | + $perm_res = KTSearchUtil::permissionToSQL($oUser, 'ktcore.permissions.read'); | ||
| 681 | + if (PEAR::isError($perm_res)) { | ||
| 682 | + return $perm_res; | ||
| 683 | + } | ||
| 684 | + list($sPermissionString, $aPermissionParams, $sPermissionJoin) = $perm_res; | ||
| 685 | + | ||
| 686 | + // compile the final list | ||
| 687 | + $aFinalWhere = kt_array_merge(array($sPermissionString,'D.creator_id IS NOT NULL'), $aExternalWhereClauses, array('D.status_id = ?')); | ||
| 688 | + $aFinalWhereParams = kt_array_merge($aPermissionParams, $aExternalWhereParams, array(LIVE)); | ||
| 689 | + | ||
| 690 | + if (!is_array($aOptions)) { | ||
| 691 | + $aOptions = (array) $aOptions; | ||
| 692 | + } | ||
| 693 | + $sOrderBy = KTUtil::arrayGet($aOptions, 'orderby', 'DT.datetime DESC'); | ||
| 694 | + | ||
| 695 | + // compile these. | ||
| 696 | + // NBM: do we need to wrap these in ()? | ||
| 697 | + $sWhereClause = implode(' AND ', $aFinalWhere); | ||
| 698 | + if (!empty($sWhereClause)) { | ||
| 699 | + $sWhereClause = 'WHERE ' . $sWhereClause; | ||
| 700 | + } | ||
| 701 | + | ||
| 702 | + $sQuery = sprintf("SELECT %s %s %s %s %s ORDER BY %s", | ||
| 703 | + $sSelectItems, | ||
| 704 | + $sBaseJoin, | ||
| 705 | + $sPermissionJoin, | ||
| 706 | + $sJoinClause, | ||
| 707 | + $sWhereClause, | ||
| 708 | + $sOrderBy | ||
| 709 | + ); | ||
| 710 | + | ||
| 711 | + //var_dump(array($sQuery, $aFinalWhereParams)); | ||
| 712 | + | ||
| 713 | + $res = DBUtil::getResultArray(array($sQuery, $aFinalWhereParams)); | ||
| 714 | + //var_dump($res); exit(0); | ||
| 715 | + return $res; | ||
| 716 | + } | ||
| 658 | } | 717 | } |
| 659 | ?> | 718 | ?> |