function displayPtCommentsSelector($htmlid, \lib\Objects\PowerTrail\PowerTrail $powerTrail, $selectedId = 0, $usr = null) { $appContainer = lib\Objects\ApplicationContainer::Instance(); if ($appContainer->getLoggedUser() === false) { return ''; } $cachesFoundByUser = $powerTrail->getFoundCachsByUser($appContainer->getLoggedUser()->getUserId()); $percetDemand = $powerTrail->getPerccentRequired(); $ptId = $powerTrail->getId(); if ($powerTrail->getCacheCount() != 0) { $percentUserFound = round(count($cachesFoundByUser) * 100 / $powerTrail->getCacheCount(), 2); } else { $percentUserFound = 0; } $commentsArr = lib\Controllers\PowerTrailController::getEntryTypes(); $ptOwners = powerTrailBase::getPtOwners($ptId); $selector = '<select id="' . $htmlid . '" name="' . $htmlid . '">'; foreach ($commentsArr as $id => $type) { if ($id == 2) { if ($percentUserFound < $percetDemand || powerTrailBase::checkUserConquestedPt($appContainer->getLoggedUser()->getUserId(), $ptId) > 0) { continue; } $selected = 'selected="selected"'; } if (!isset($ptOwners[$appContainer->getLoggedUser()->getUserId()]) && ($id == 3 || $id == 4 || $id == 5)) { continue; } if ($id == 3 && $powerTrail->canBeOpened() === false && $powerTrail->getStatus() != \lib\Objects\PowerTrail\PowerTrail::STATUS_OPEN) { /* this PT cannot be opened */ continue; } if ($id === \lib\Objects\PowerTrail\Log::TYPE_ADD_WARNING && $appContainer->getLoggedUser()->getIsAdmin() === false) { continue; } if (!isset($selected)) { $selected = ''; } if ($selectedId == $id) { $selected = 'selected'; } $selector .= '<option value="' . $id . '" ' . $selected . '>' . tr($type['translate']) . '</option>'; unset($selected); } $selector .= '</select>'; return $selector; }
<?php use Utils\Database\OcDb; $rootpath = __DIR__ . '/../'; require_once __DIR__ . '/../lib/common.inc.php'; $appContainer = lib\Objects\ApplicationContainer::Instance(); if ($appContainer->getLoggedUser() === false) { $loggedUserId = -9999; } else { $loggedUserId = $appContainer->getLoggedUser()->getUserId(); } $commentsArr = lib\Controllers\PowerTrailController::getEntryTypes(); $ptOwners = powerTrailBase::getPtOwners($_REQUEST['projectId']); $paginateCount = powerTrailBase::commentsPaginateCount; foreach ($ptOwners as $owner) { $ownersIdArray[] = $owner['user_id']; } $nextSearchStart = $_REQUEST['start'] + $_REQUEST['limit']; $db = OcDb::instance(); $q = 'SELECT count(*) AS `count` FROM `PowerTrail_comments` WHERE `PowerTrailId` =:1 AND `deleted` = 0 '; $s = $db->multiVariableQuery($q, $_REQUEST['projectId']); $count = $db->dbResultFetchOneRowOnly($s); $count = $count['count']; $query = 'SELECT * FROM `PowerTrail_comments`, `user` WHERE `PowerTrailId` =:variable1 AND `deleted` = 0 AND `PowerTrail_comments`.`userId` = `user`.`user_id` ORDER BY `logDateTime` DESC LIMIT :variable2 , :variable3 '; $params['variable1']['value'] = (int) $_REQUEST['projectId']; $params['variable1']['data_type'] = 'integer'; $params['variable2']['value'] = (int) $_REQUEST['start']; $params['variable2']['data_type'] = 'integer'; $params['variable3']['value'] = (int) $_REQUEST['limit']; $params['variable3']['data_type'] = 'integer';