X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=806bf7da525c2ca3c7513677bac2f5d9e2372435;hp=47e600cbe85c77304d259accdfac1ca2b2d81726;hb=e937b6540b932d537f72e827de76dd5be4aefe48;hpb=56391f52928b7bafd0bf749437ff36a9823b52da diff --git a/inc/functions.php b/inc/functions.php index 47e600cbe8..806bf7da52 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -2325,6 +2325,9 @@ function memberEditEntriesConfirm ($tableName, $columns = array(), $filterFuncti // Shall we change here or list for editing? if ($editNow[0] === true) { + // Add generic userid field + setPostRequestElement('userid', getMemberId()); + // Call generic change method $affected = doGenericEditEntriesConfirm($tableName, $columns, $filterFunctions, $extraValues, $timeColumns, $editNow, $idColumn, $userIdColumn, $rawUserId, $cacheFiles); @@ -2342,6 +2345,48 @@ function memberEditEntriesConfirm ($tableName, $columns = array(), $filterFuncti } } +// Delete rows by given id numbers +function memberDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $deleteNow = array(false), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array()) { + // Do this only for members + assert(isMember()); + + // $tableName must be an array + if ((!is_array($tableName)) || (count($tableName) != 1)) { + // No tableName specified + reportBug(__FUNCTION__, __LINE__, 'tableName is not given. Please fix your XML,tableName[]=' . gettype($tableName) . '!=array: userIdColumn=' . $userIdColumn); + } elseif (!is_array($idColumn)) { + // $idColumn is no array + reportBug(__FUNCTION__, __LINE__, 'idColumn[]=' . gettype($idColumn) . '!=array: userIdColumn=' . $userIdColumn); + } elseif (!is_array($userIdColumn)) { + // $userIdColumn is no array + reportBug(__FUNCTION__, __LINE__, 'userIdColumn[]=' . gettype($userIdColumn) . '!=array: userIdColumn=' . $userIdColumn); + } elseif (!is_array($deleteNow)) { + // $deleteNow is no array + reportBug(__FUNCTION__, __LINE__, 'deleteNow[]=' . gettype($deleteNow) . '!=array: userIdColumn=' . $userIdColumn); + } // END - if + + // Shall we delete here or list for deletion? + if ($deleteNow[0] === true) { + // Add generic userid field + setPostRequestElement('userid', getMemberId()); + + // Call generic function + $affected = doGenericDeleteEntriesConfirm($tableName, $columns, $filterFunctions, $extraValues, $deleteNow, $idColumn, $userIdColumn, $rawUserId, $cacheFiles); + + // Was this fine? + if ($affected == countPostSelection($idColumn[0])) { + // All deleted + displayMessage('{--MEMBER_ALL_ENTRIES_REMOVED--}'); + } else { + // Some are still there :( + displayMessage(sprintf(getMessage('MEMBER_SOME_ENTRIES_NOT_DELETED'), SQL_AFFECTEDROWS(), countPostSelection($idColumn[0]))); + } + } else { + // List for deletion confirmation + memberListBuilder('delete', $tableName, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn); + } +} + // Build a special template list function memberListBuilder ($listType, $tableName, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn, $rawUserId = array('userid')) { // Do this only for logged in member