Jump to content

Zdeněk Tůma

Friends
  • Posts

    143
  • Joined

  • Last visited

Reputation Activity

  1. Thanks
    Zdeněk Tůma reacted to Linux-Is-Best in REST API error   
    Hello @Zdeněk Tůma
    I am sincerely sorry to hear you are experiencing issues.  I question if perhaps your CDN (Amazon Cloudfront) is still using the dated (older) cache files and if maybe a simple purge may help resolve this.  Additionally, if you are IP banning anything either through the software or server, you clear both (remove all IP bans) before flushing your CDN. 
  2. Agree
    Zdeněk Tůma reacted to Interferon in Videobox   
    Well maybe someday I will actually be able to use it then. Until then, I just wasted $60 on another half-baked add-on.
  3. Haha
    Zdeněk Tůma reacted to onlyME in Videobox   
    VideoBox is an application that allows sharing various video embed codes from Picasa, YouTube, Vimeo, Dailymotion, or MP4. The best choice to run your own Movies/TV Shows website.

    Features:
    2 display modes: Grid view & List view. Categories/subcategories. Custom fields for video's informations. Can choose Protect Fields that only display for logged members, or who liked the video. Quicksearch menu. Search videos by title, content, custom field, tags,... Video Collection system. Various widgets: top poster, top videos, random videos, featured videos in slider, collections in carousel,... Pages system: easy to add new page with custom content. Using Videojs to display video embed codes from Picasa, YouTube, Vimeo, Dailymotion. Support subtitles *.vtt extension (For MP4, Youtube, Picasa, Dailymotion, not Vimeo). Watermark on video player. Friendly URL. Comment system. Rating system. BUY IT NOW
  4. Thanks
    Zdeněk Tůma reacted to Morrigan in custom widgetbox in custom footer   
    Currently there is no way to add custom widget containers at this time other than in pages and by using the Pages "templates" you would apply the widget containers to the page and done.
    This means it doesn't work outside of the Pages app.
  5. Thanks
    Zdeněk Tůma reacted to LMX in Developing on Cloud Hosted Version   
    Hello to whomever may stumble upon this! 

    I work for a small organization that doesn't have the capacity to support a self hosted solution but still needed to extend upon the base functionality of the website. This means I don't have access to the developer console - as a result I have been experimenting over the last month or so with development on the cloud hosted version. While not ideal I have been able to accomplish some features that have been useful for us.  If you are in a similar situation I hope this can be useful for you as well and perhaps save you some time.

    If you read this and think there are better ways to achieve these means I would be very happy to learn them. Please do share any ideas you may have if you care to do so!

    Here is an example of a Community Map we built via PHP & HTML custom blocks.
    PHP Block for getting member data - template key = "php_template_key"
    Standard API request as outlined in the docs with the addition of setting the returned data in the global $_SESSION variable to make it accessible from the front end HTML block. (thanks to @bfarber for that idea!).
    $communityUrl = 'BASE_URL_HERE'; $apiKey = 'API_KEY_HERE'; $endpoint = '/core/members?perPage=700'; $curl = curl_init( $communityUrl . 'api' . $endpoint ); curl_setopt_array( $curl, array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_USERPWD => "{$apiKey}:", CURLOPT_USERAGENT => "MyUserAgent/1.0" )); $response = curl_exec( $curl ); $_SESSION['apiResponseVariable'] = json_encode($response,JSON_HEX_APOS|JSON_HEX_QUOT); Since I only need member name, a custom field and their location I could (and probably should) groom the data here on the BE before passing to the front end. 
     
    HTML Block for rendering map
    This requires you to enable Google Maps Third-party Enhancement at 'YOUR-DOMAIN/admin/?app=core&module=applications&controller=enhancements'.
    Some useful docs for working with the Google Maps API:
    https://developers.google.com/maps/documentation/javascript/adding-a-google-map
    https://developers.google.com/maps/documentation/javascript/marker-clustering
    {block="php_template_key"} {{$response = $_SESSION['apiResponseVariable'];}} <html> <head> <title>Community Map</title> <script src="https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js?key=API_KEY&callback=initMap&libraries=&v=weekly" defer ></script> <style type="text/css"> #map { height: 400px; width: 100%; } .welcome-text { padding-bottom: 20px; } .welcome-text span { font-size: 16px; } </style> <script> function initMap() { let mapStyleOptions = [ { featureType: "water", elementType: "geometry", stylers: [ { color: "#d0d3d4" } ] }, { featureType: "landscape", elementType: "geometry", stylers: [ { color: "#dee2e3" } ], }, { featureType: "road", elementType: "geometry", stylers: [ { visibility: "off" } ], }]; const myMap = new google.maps.Map(document.getElementById("map"), { zoom: 2.5, center: {lat:24.63940428579627, lng:-50.6783944937192}, styles: mapStyleOptions, }); /* This is the messy bit of conforming the $apiResponseVariable to usable json */ let data = '{json_decode($response, TRUE)}'; data = data.replace('{json_decode("', ''); data = data.replace('", TRUE)}', ''); data = JSON.parse(data); let locations = []; let markers = []; let infowindow = new google.maps.InfoWindow(); data.results.forEach(member => { let memberLoc = JSON.parse(member.customFields[1].fields[2].value); if(memberLoc.lat !== null && memberLoc.long !== null) { let organization = member.customFields[1].fields[3].value; let memberName = member.formattedName; let memberUrl = member.profileUrl; let displayName = memberName; if (memberName != organization && organization != '') { displayName = memberName + ' - ' + organization; } locations.push({ id: memberLoc.lat.toString() + memberLoc.long.toString(), name: displayName, profileUrl: member.profileUrl, lat: memberLoc.lat, lng: memberLoc.long }); }; }); const uniqueLocations = Array.from(new Set(locations.map(a => a.id))) .map(id => { return locations.find(a => a.id === id) }); for (i = 0; i < uniqueLocations.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(uniqueLocations[i].lat, uniqueLocations[i].lng), icon: { url: "some-custom-image-url", }, }); markers.push(marker); google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { let UrlElement = '<a href="' + uniqueLocations[i].profileUrl + '">' + uniqueLocations[i].name + '</a>'; infowindow.setContent(UrlElement); infowindow.open(myMap, marker); } })(marker, i)); } let clusterImagePath = 'some-custom-image-url' new MarkerClusterer(myMap, markers, { imagePath: clusterImagePath, height: '100px', width: '100px', }); } </script> </head> <body> <div class="welcome-text"><h2>Welcome to the community map!</h2><span>Use our Community Map below to find and interact with other members.</span></div> <!--The div element for the map --> <div id="map"></div> </body> </html>
    I've used this pattern of BE API request and FE PHTML/JS jumble to achieve a fair amount of custom tooling so far (in the absence of access to the developer console). Hope this is useful to someone out there.  Happy to answer any questions or receive feedback.
    Peace love and chicken grease.
     
  6. Agree
    Zdeněk Tůma reacted to Morrigan in Profile custom field   
    There is no way to do that. Only admins and global mods will be able to edit it.
  7. Thanks
    Zdeněk Tůma reacted to CoffeeCake in Custom conversion from mysql database to IPB database   
    Well, it is possible to move data from one data source to the IPS MySQL database as the final destination. Whether or not the IPS Pages database feature has the necessary featureset to support whatever it is you're converting remains to be seen.
    You can create a custom conversion, or use an ETL tool independent from IPS to move the data from one place to another, as is appropriate, and make any transformations that might be necessary.
  8. Agree
    Zdeněk Tůma reacted to AmericanRev2 in Pages Hit Counter   
    anyone else want this?
  9. Like
    Zdeněk Tůma reacted to LiquidFractal in IPB native Points System (IP.Subeconomies? IP.Points?)   
    Perhaps this is a pipe dream, but as sub-economies have proven to be a very effective way of hijacking goal-oriented psychology I would love to see a native points system in IPB.
    In such an application one could develop different "banks" for different types of points systems depending on the nature of your website.  Examples:
    "credits" (for purchasing services, Store products, exchanging for cash donations to relevant charities) tokens (for gambling, buying bling for their online personae) hours (if you're like me, you sell hours of tuition and/or consultation) How might these points be accumulated/awarded?  Examples:
    buying blocks of tokens/credits/hours in the Store buying Store products: buy product X and get Y amount of credits in points system Z having the highest-rated answers in a Q/A Support forum having the highest reputation in a given forum Awarding points to people who invite new members to your community completing courses or other certifications Other ideas:
    Targeted emails to certain groups, or certain individuals when credits/tokens/hours are at X or 0 - time to get more!) Targeted emails to people indicating they've been awarded free tokens/credits/etc. Promotions where points are awarded under special circumstances from dates X to Y Toss tokens into a (virtual) fight pit and watch your community fight for them.  Cue the oldschool Star Trek fight music.  Dance, puppets, daaaaance! mwuahahaha) Hijacking goal-oriented psych--err, offering points could be a great way to spur development and participation in one's community.  They could also obviously be integrated into other apps (or other apps could make use of points) as part of competitions, e.g., submitting the highest-rated photos, articles, blog posts, etc.  The possibilities go on and on!
    As some know there have been a couple of third-party devs who have made Points systems, but I have come to think that if one is going to embed something like this into a community (let alone a business) I wouldn't want to trust it to anyone but the core developers for updates and stability.
    I obviously can't speak for others, but I for one would be happy to pay for this as an additional (optional) IPS module, similar to the way IP.Downloads is offered.
  10. Haha
    Zdeněk Tůma reacted to Matt in Club Categories   
    We've had this on our internal roadmap for a while, there isn't a set release or date, but it's something we do want to do.
  11. Agree
    Zdeněk Tůma reacted to bfarber in Send variables to raw php blocks   
    No, but you may be able to set a session or global variable first if needed, or store data temporarily elsewhere.
    {$_SESSION['tempvar']} {block="blockkey"}  
  12. Like
    Zdeněk Tůma reacted to bfarber in Connecting to 3rd party REST API service endpoints   
    If you're trying to call a third party REST API, you would just use the built in HTTP libraries we leverage.
    When I test connecting to our own built in REST API locally I use a test script like so typically
    <?php $apiKey = 'my-api-key'; require 'init.php'; \IPS\Dispatcher\External::i(); $response = \IPS\Http\Url::external( \IPS\Settings::i()->base_url . '/api/core/members/1' ) ->request() ->login( $apiKey, '' ) ->get() ->decodeJson(); var_dump($response); exit;  
  13. Like
    Zdeněk Tůma reacted to LMX in Developing w/ Cloud Hosted Version   
    @bfarber apologies for resurrecting an old thread - quick question.
    If in this example "my_other_block" is a php block which returns an array like below... how would I access the data from that array in the phtml block?
    $exampleArray = Array( 'foo' => 'bar', 'baz' => Array( 'nestedFoo' => 'nestedBar' ) );  
  14. Agree
    Zdeněk Tůma reacted to bfarber in Developing w/ Cloud Hosted Version   
    you'd probably need to do something like this in your block
    $_SESSION['arrayValues'] = ...;// The array data and then look at $_SESSION['arrayValues'] in the rest of the block/template after. I just used $_SESSION as a globally accessible storage container in this case, you could use other similar paradigms.
  15. Like
    Zdeněk Tůma reacted to Michael_ in How do i download plugins?   
    I just bought a plugin but when i click on "Download this file" i only get a popup telling me the following:
     
    Yeah im oldschool. I want to download my plugin and save it on my hdd.
    I then want to manually upload it through the acp to install as i always did for decades.
    So question is how do i download plugins to my local hdd?
    I do not want to use that app store crap.
  16. Like
    Zdeněk Tůma reacted to CoffeeCake in Why does Commerce insist on Imperial measurement?   
    All the things come from the set locale. You'll want to pick (or create) a locale that matches what you want. LC_MONETARY is what controls the output of currency related things.
  17. Like
    Zdeněk Tůma reacted to kmk in Tournaments ( Support Topic )   
    It look like this, could you retouch a little the mobile view? 

  18. Like
    Zdeněk Tůma reacted to CoffeeCake in Urgent problem: Two Factor Authentication   
    You can disable two-factor authentication temporarily by editing your constants.php file and adding the following:
    \define('DISABLE_MFA',true); Additionally, I would check the time on your server. If the time and date are off by too much, that would make it stop working.
    For constants.php documentation, see here: 
     
     
  19. Like
    Zdeněk Tůma reacted to kmk in Tournaments ( Support Topic )   
    Please add multilanguage support too...
  20. Like
    Zdeněk Tůma reacted to kmk in Tournaments ( Support Topic )   
    Could you add Add Message to Tournament Actions? We can update about the tournament progrese or info with that message, or use it to add video and images during and after the tournament.

  21. Like
    Zdeněk Tůma reacted to kmk in Tournaments ( Support Topic )   
    Recent have it installed, with one team and one tournament created, by now discovered the mobile menu missed the Tournaments page menu item, it just can see the Team page menu item. So through mobile we can not access to the tournaments page. 

  22. Like
    Zdeněk Tůma reacted to GTServices in NOFOLLOW Changes   
    In new version, you may want to consider adding the new NOFOLLOW options. 
    Leave it up to the admins to decide how to use NOFOLLOW.
      You can read more about here... Evolving “nofollow” – new ways to identify the nature of links Qualify your outbound links to Google
  23. Like
    Zdeněk Tůma reacted to Koper74 in Pages in Clubs?   
    After 2 years without using clubs because of the lack of pages in clubs I'm still hoping.
    Is there a chance?
  24. Thanks
    Zdeněk Tůma reacted to Adriano Faria in Raffles System   
    I don’t understand your question very well but both apps are integrated. You can specify how many points a user can exchange to participate in a raffle when you’re creating the raffle. 
  25. Thanks
    Zdeněk Tůma reacted to batarjal in ThreadStarter: Steam   
    Sorry I didn't see your first comment.
    I'll add czech steam API support for the next version.
×
×
  • Create New...