Пример #1
0
 public static function checkCacheStatusByUser($record, $userId)
 {
     $cacheTypesIcons = cache::getCacheIconsSet();
     if ($record['user_id'] == $userId) {
         return $cacheTypesIcons[$record['cache_type']]['iconSet'][1]['iconSmallOwner'];
     } elseif (self::is_cache_found($record['cache_id'], $userId)) {
         return $cacheTypesIcons[$record['cache_type']]['iconSet'][1]['iconSmallFound'];
     } else {
         return $cacheTypesIcons[$record['cache_type']]['iconSet'][1]['iconSmall'];
     }
 }
Пример #2
0
 private function userMedals()
 {
     /* lang test */
     /* get locale from browser */
     $userPrefferedLanguages = explode(';', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
     $mostPrefferedLanguage = explode(',', $userPrefferedLanguages[0]);
     $locale = str_replace('-', '_', $mostPrefferedLanguage[0]);
     if (isset($_REQUEST['locale'])) {
         /* get locale from $_REQUEST*/
         $locale = $_REQUEST['locale'];
     }
     $putenv = putenv("LANG={$locale}");
     $setlocale = setlocale(LC_ALL, $locale);
     //        d($locale, $putenv, $setlocale);
     bindtextdomain("medals", __DIR__ . '/../languages');
     bind_textdomain_codeset('medals', 'UTF-8');
     textdomain("medals");
     //        print gettext('level');
     //        print '<BR>';
     /* end lang test*/
     $ocConfig = \lib\Objects\OcConfig\OcConfig::instance();
     $smarty = new \Smarty();
     $smarty->setCompileDir($ocConfig->getDynamicFilesPath() . 'tmp/templates_c');
     $smarty->debugging = false;
     $smarty->caching = false;
     $smarty->setTemplateDir(__DIR__ . '/../../tpl/smarty');
     $smarty->setCacheDir($ocConfig->getDynamicFilesPath() . 'tmp/smarty_cache');
     $user = new \lib\Objects\User\User(array('userId' => $this->request['userId']));
     $user->loadMedalsFromDb();
     //        d($user, $user->getMedals());
     /* @var $medal \lib\Objects\Medals\Medal */
     foreach ($user->getMedals() as $medal) {
         $medal->checkConditionsForUser($user);
         $smartyMedals['medals'][] = array('imgSrc' => $medal->getImage(), 'name' => $medal->getName(), 'profile' => $medal->getMedalProfile(), 'level' => $medal->getLevel(), 'levelName' => $medal->getLevelName(), 'currentLevelInfo' => $medal->getLevelInfo(), 'nextLevelInfo' => $medal->getLevelInfo($medal->getLevel() + 1));
     }
     $smartyMedals['tr'] = array('level' => _('level'), 'user' => _('user'), 'medals' => _('medals'), 'nextLevelRequirements' => _('Next level Requirements'), 'currentLevelRequirements' => _('Level achievements'), 'medalInfo' => _('Medal Profile'), 'cacheTypes' => _('Geocache types'));
     $smarty->assign('geocacheIcons', \cache::getCacheIconsSet());
     $smarty->assign('user', $user->getUserInformation());
     $smarty->assign("smartyMedals", $smartyMedals);
     $smarty->assign("bgImage", $this->shuffleBackgroundImage());
     $smarty->display('medals.tpl');
 }
function displayAllCachesOfPowerTrail(\lib\Objects\PowerTrail\PowerTrail $powerTrail, $choseFinalCaches)
{
    isset($_SESSION['user_id']) ? $userId = $_SESSION['user_id'] : ($userId = -9999);
    $powerTrailCachesUserLogsByCache = $powerTrail->getFoundCachsByUser($userId);
    $geocacheFoundArr = array();
    foreach ($powerTrailCachesUserLogsByCache as $geocache) {
        $geocacheFoundArr[$geocache['geocacheId']] = $geocache;
    }
    if (count($powerTrail->getCacheCount()) == 0) {
        return '<br /><br />' . tr('pt082');
    }
    $statusIcons = array(1 => '/tpl/stdstyle/images/log/16x16-published.png', 2 => '/tpl/stdstyle/images/log/16x16-temporary.png', 3 => '/tpl/stdstyle/images/log/16x16-trash.png', 5 => '/tpl/stdstyle/images/log/16x16-need-maintenance.png');
    $statusDesc = array(1 => tr('pt141'), 2 => tr('pt142'), 3 => tr('pt143'), 5 => tr('pt144'));
    $cacheTypesIcons = cache::getCacheIconsSet();
    $cacheRows = '<table class="ptCacheTable" align="center" width="90%"><tr>
        <th>' . tr('pt075') . '</th>
        <th>' . tr('pt076') . '</th>';
    if ($choseFinalCaches) {
        $cacheRows .= '<th></th>';
    }
    $cacheRows .= '   <th>' . tr('pt077') . '</th>
        <th><img src="tpl/stdstyle/images/log/16x16-found.png" /></th>
        <th>' . tr('pt078') . '</th>
        <th><img src="images/rating-star.png" /></th>
    </tr>';
    $totalFounds = 0;
    $totalTopRatings = 0;
    $bgcolor = '#ffffff';
    $cachetypes = array(1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0);
    $cacheSize = array(2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0);
    unset($_SESSION['geoPathCacheList']);
    /* @var $geocache lib\Objects\GeoCache\GeoCache*/
    foreach ($powerTrail->getGeocaches() as $geocache) {
        $_SESSION['geoPathCacheList'][] = $geocache->getCacheId();
        $totalFounds += $geocache->getFounds();
        $totalTopRatings += $geocache->getRecommendations();
        $cachetypes[$geocache->getCacheType()]++;
        $cacheSize[$geocache->getSizeId()]++;
        // powerTrailController::debug($cache); exit;
        if ($bgcolor == '#eeeeff') {
            $bgcolor = '#ffffff';
        } else {
            $bgcolor = '#eeeeff';
        }
        if ($geocache->isIsPowerTrailFinalGeocache()) {
            $bgcolor = '#000000';
            $fontColor = '<font color ="#ffffff">';
        } else {
            $fontColor = '';
        }
        $cacheRows .= '<tr bgcolor="' . $bgcolor . '">';
        //display icon found/not found depend on current user
        if (isset($geocacheFoundArr[$geocache->getCacheId()])) {
            $cacheRows .= '<td align="center"><img src="' . $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmallFound'] . '" /></td>';
        } elseif ($geocache->getOwner()->getUserId() == $userId) {
            $cacheRows .= '<td align="center"><img src="' . $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmallOwner'] . '" /></td>';
        } else {
            $cacheRows .= '<td align="center"><img src="' . $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmall'] . '" /></td>';
        }
        //cachename, username
        $cacheRows .= '<td><b><a href="' . $geocache->getWaypointId() . '">' . $fontColor . $geocache->getCacheName() . '</b></a> (' . $geocache->getOwner()->getUserName() . ') ';
        if ($geocache->isIsPowerTrailFinalGeocache()) {
            $cacheRows .= '<span class="finalCache">' . tr('pt148') . '</span>';
        }
        $cacheRows .= '</td>';
        //chose final caches
        if ($choseFinalCaches) {
            if ($geocache->isIsPowerTrailFinalGeocache()) {
                $checked = 'checked = "checked"';
            } else {
                $checked = '';
            }
            $cacheRows .= '<td><span class="ownerFinalChoice"><input type="checkbox" id="fcCheckbox' . $geocache->getCacheId() . '" onclick="setFinalCache(' . $geocache->getCacheId() . ')" ' . $checked . ' /></span></td>';
        }
        //status
        $cacheRows .= '<td align="center"><img src="' . $statusIcons[$geocache->getStatus()] . '" title="' . $statusDesc[$geocache->getStatus()] . '"/></td>';
        //FoundCount
        $cacheRows .= '<td align="center">' . $fontColor . $geocache->getFounds() . '</td>';
        //score, toprating
        $cacheRows .= '<td align="center">' . ratings($geocache->getScore(), $geocache->getRatingVotes()) . '</td>';
        $cacheRows .= '<td align="center">' . $fontColor . $geocache->getRecommendations() . '</td>';
        '</tr>';
    }
    $cacheRows .= '
    <tr bgcolor="#efefff">
        <td></td>
        <td style="font-size: 9px;">' . tr('pt085') . '</td>
        <td></td>
        <td align="center" style="font-size: 9px;">' . $totalFounds . '</td>
        <td></td>
        <td align="center" style="font-size: 9px;">' . $totalTopRatings . '</td>
    </tr>
    </table>';
    $restCaches = $cachetypes[4] + $cachetypes[5] + $cachetypes[6] + $cachetypes[8] + $cachetypes[9] + $cachetypes[10];
    $countCaches = $powerTrail->getCacheCount();
    $restCachesPercent = round($restCaches * 100 / $countCaches);
    foreach ($cachetypes as $key => $value) {
        $cachePercent[$key] = round($value * 100 / $countCaches);
    }
    foreach ($cacheSize as $key => $value) {
        $cacheSizePercent[$key] = round($value * 100 / $countCaches);
    }
    $img = '<table align="center"><tr><td align=center width="50%">' . tr('pt107') . '<br /><img src="http://chart.apis.google.com/chart?chs=350x100&chd=t:' . $cachetypes[2] . ',' . $cachetypes[3] . ',' . $cachetypes[7] . ',' . $cachetypes[1] . ',' . $restCaches . '&cht=p3&chl=' . $cachetypes[2] . '|' . $cachetypes[3] . '|' . $cachetypes[7] . '|' . $cachetypes[1] . '|' . $restCaches . '&chco=00aa00|FFEB0D|0000cc|cccccc|eeeeee&&chdl=%20' . tr('pt108') . '%20(' . $cachePercent[2] . '%)|' . tr('pt109') . '%20(' . $cachePercent[3] . '%)|' . tr('pt110') . '%20(' . $cachePercent[7] . '%)|' . urlencode(tr('pt111')) . '%20(' . $cachePercent[1] . '%)|' . urlencode(tr('pt112')) . '%20(' . $restCachesPercent . '%)" /></td>';
    $img .= '<td align=center width="50%">' . tr('pt106') . '<br /><img src="http://chart.apis.google.com/chart?chs=350x100&chd=t:' . $cacheSize[2] . ',' . $cacheSize[3] . ',' . $cacheSize[4] . ',' . $cacheSize[5] . ',' . $cacheSize[6] . '&cht=p3&chl=%20' . $cacheSize[2] . '|' . $cacheSize[3] . '|' . $cacheSize[4] . '|' . $cacheSize[5] . '|' . $cacheSize[6] . '&chco=0000aa|00aa00|aa0000|aaaa00|00aaaa&&chdl=' . urlencode(tr('pt113')) . '%20(' . $cacheSizePercent[2] . '%)|' . urlencode(tr('pt114')) . '%20(' . $cacheSizePercent[3] . '%)|' . urlencode(tr('pt115')) . '%20(' . $cacheSizePercent[4] . '%)|' . urlencode(tr('pt116')) . '%20(' . $cacheSizePercent[5] . '%)|' . urlencode(tr('pt117')) . '%20(' . $cacheSizePercent[6] . '%)" /></td></tr></table><br /><br />';
    return $img . $cacheRows;
}
Пример #4
0
function displayAllCachesOfPowerTrail(\lib\Objects\PowerTrail\PowerTrail $powerTrail)
{
    isset($_SESSION['user_id']) ? $userId = $_SESSION['user_id'] : ($userId = -9999);
    $powerTrailCachesUserLogsByCache = $powerTrail->getPowerTrailCachesLogsForCurrentUser();
    $cacheTypesIcons = cache::getCacheIconsSet();
    $pTrailCaches = $powerTrail->getGeocaches();
    $cacheRows = '';
    /* @var $geocache \lib\Objects\Geocache\Geocache */
    foreach ($pTrailCaches as $geocache) {
        // avoid crash js on quotas (');
        $cacheName = str_replace("'", '&#39;', $geocache->getCacheName());
        if (isset($powerTrailCachesUserLogsByCache[$geocache->getCacheId()])) {
            $image = $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmallFound'];
        } elseif ($geocache->getOwner()->getUserId() == $userId) {
            $image = $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmallOwner'];
        } else {
            $image = $cacheTypesIcons[$geocache->getCacheType()]['iconSet'][1]['iconSmall'];
        }
        $cacheRows .= '[' . $geocache->getCoordinates()->getLatitude() . "," . $geocache->getCoordinates()->getLongitude() . ",'<a href=" . $geocache->getWaypointId() . " target=_new>" . $cacheName . "</a>'," . "'{$image}','" . $cacheName . "',],";
    }
    $cacheRows = rtrim($cacheRows, ",");
    return $cacheRows;
}