$db = \Utils\Database\OcDb::instance(); $projectId = $_REQUEST['projectId']; $userId = $_REQUEST['userId']; if (is_numeric($userId)) { $queryParam = ' user_id = '; } else { $queryParam = ' username LIKE '; } $query = 'SELECT user_id, username FROM user WHERE ' . $queryParam . ' :1 LIMIT 1'; $s = $db->multiVariableQuery($query, $userId); $userResult = $db->dbResultFetchOneRowOnly($s); $addQuery = "INSERT INTO `PowerTrail_owners`(`PowerTrailId`, `userId`, `privileages`) VALUES (:1,:2,:3)"; $db->multiVariableQuery($addQuery, $projectId, $userResult['user_id'], 1); $logQuery = 'INSERT INTO `PowerTrail_actionsLog`(`PowerTrailId`, `userId`, `actionDateTime`, `actionType`, `description`, `cacheId`) VALUES (:1,:2,NOW(),4,:3,:4)'; $db->multiVariableQuery($logQuery, $projectId, $_SESSION['user_id'], $ptAPI->logActionTypes[4]['type'] . ' new owner is: ' . $userResult['user_id'], $userResult['user_id']); $powerTrail = new \lib\Objects\PowerTrail\PowerTrail(array('id' => $projectId)); $ptOwners = displayPtOwnerList($powerTrail->getOwners()); echo $ptOwners; function displayPtOwnerList($ptOwners) { $ownerList = ''; foreach ($ptOwners as $user) { $ownerList .= '<a href="viewprofile.php?userid=' . $user->getUserId() . '">' . $user->getUsername() . '</a>'; if ($user->getUserId() != $_SESSION['user_id']) { $ownerList .= '<span style="display: none" class="removeUserIcon"><img onclick="ajaxRemoveUserFromPt(' . $user->getUserId() . ');" src="tpl/stdstyle/images/free_icons/cross.png" width=10 " /></span>, '; } else { $ownerList .= ', '; } } return substr($ownerList, 0, -2); }
/** * This function look for 'pt' param in request and set proper tpl var * * @param * loadDetails - if set to true name, icon and link etc. * of the geopath will be load to template */ function parsePowerTrailFilter($loadDetails = false) { global $powerTrailModuleSwitchOn; if (!$powerTrailModuleSwitchOn) { // powerTrails disabled in settings.inc.php tpl_set_var("powertrail_ids", ""); tpl_set_var("pt_filter_enabled", '0', false); return; } if (!isset($_REQUEST['pt']) || !preg_match('/^[0-9]+(\\|[0-9]+)*$/', $_REQUEST['pt'])) { // no param or improper param value tpl_set_var("pt_filter_enabled", '0', false); tpl_set_var("powertrail_ids", ""); return; } // set powertrails_ids param tpl_set_var("powertrail_ids", $_REQUEST['pt']); if (!$loadDetails) { tpl_set_var("pt_filter_enabled", '0', false); return; } // load powertrail details $powertrailsIds = explode('|', $_REQUEST['pt']); if (!is_array($powertrailsIds) || count($powertrailsIds) == 0) { tpl_set_var("pt_filter_enabled", '0', false); return; } if (count($powertrailsIds) > 1) { // many powertrails are selected // TODO... tpl_set_var("pt_filter_enabled", '1', false); tpl_set_var("pt_name", "HowDoYouFindIt - you're hacker! TBD"); } else { $ptObj = new \lib\Objects\PowerTrail\PowerTrail(array('id' => (int) $powertrailsIds[0], 'fieldsStr' => 'id,name,type')); if ($ptObj->isDataLoaded()) { tpl_set_var("pt_filter_enabled", '1', false); tpl_set_var("pt_url", $ptObj->getPowerTrailUrl()); tpl_set_var("pt_name", $ptObj->getName()); tpl_set_var("pt_icon", $ptObj->getFootIcon()); } else { tpl_set_var("pt_filter_enabled", '0', false); } } }
tpl_set_var('mapCenterLon', $main_page_map_center_lon); tpl_set_var('mapZoom', 6); tpl_set_var('PowerTrails', $ptListData[0]); tpl_set_var('ptList4map', $ptListData[1]); tpl_set_var('displayPowerTrails', 'block'); if ($pt->getPowerTrailOwn() === false) { tpl_set_var('statusOrPoints', tr('pt037')); } else { tpl_set_var('statusOrPoints', tr('pt040')); } tpl_set_var('mapOuterdiv', 'block'); tpl_set_var('mapInit', 1); tpl_set_var('fullCountryMap', '1'); break; case 'showSerie': $powerTrail = new lib\Objects\PowerTrail\PowerTrail(array('id' => (int) $_GET['ptrail'])); $ptOwners = $pt->getPtOwners(); $_SESSION['ptName'] = powerTrailBase::clearPtNames($powerTrail->getName()); tpl_set_var('powerTrailId', $powerTrail->getId()); if (!$usr && $hide_coords) { tpl_set_var('mapOuterdiv', 'none'); } else { tpl_set_var('mapOuterdiv', 'block'); } $userIsOwner = $powerTrail->isUserOwner($usr['userid']); if ($powerTrail->getStatus() == 1 || $userIsOwner || $appContainer->getLoggedUser() !== false && $appContainer->getLoggedUser()->getIsAdmin()) { $ptTypesArr = powerTrailBase::getPowerTrailTypes(); $ptStatusArr = \lib\Controllers\PowerTrailController::getPowerTrailStatus(); $foundCachsByUser = $powerTrail->getFoundCachsByUser($usr['userid']); $leadingUser = powerTrailBase::getLeadingUser($powerTrail->getId()); if ($powerTrail->getConquestedCount() > 0) {