Jump to content

Sovereign Grace Singles

Clients
  • Posts

    274
  • Joined

  • Last visited

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Sovereign Grace Singles

  1. 2 hours ago, Joel R said:

    When I tried using the unsubscribe link on another user's account when viewing the newsletter on the site, it works.  It does unsubscribe and gives me the unsubscribe page.  

    When I tried to use the unsubscribe link on the user's account when viewing the newsletter by email, I get an error.  It takes me to the URL mycommunity.com/newsletters/unsubscribe/&key=*%7Cunsubscribe_key%7C*.  The error is the standard "The page you requested does not exist. Error code: 1S160/2"

    So yes, I can confirm your error. 

    I'd like to clarify this statement after viewing the email-version of the newsletter.  

    The link DOES display properly in email.  It does NOT display on the site version.  

    Thank you for taking the time to verify the issue at hand Joel!

  2. 1 minute ago, Joel R said:

    Hi @HeadStand

    Two issues:

    1.  The *|weblink|* tag for past newsletters does not work for club newsletters (it's never worked).  The unsubscribe tag does work.  

    2.  No club newsletters were generated after May 11 2019, which according to my notes corresponded to the exact day I upgraded to Newsletter v2.1.2. 

    Did you try using the unsubscribe link? The code does display the link but when I hit it I recieved an error. 

    Just wondering if anyone else has this issue?

  3. 2 hours ago, jair101 said:

    You need to edit the following template: trophies->front->global->postbit

    Remove the following line:

    
    <legend class="ipsType_center"><a href="{$author->url()->setQueryString( 'tab', 'node_trophies_TrophiesAndMedals')}">{lang="profile_trophies_TrophiesAndMedals"}</a> </legend>

     

    That removes the title and link but is there a way to keep and only center it?

  4. I don't know why but my news letter subscribers are now receiving double email news letters at a time. That is, instead of receiving a single email they receive two duplicate emails at the same time.

    Double.thumb.jpg.c3c968aa555f654e16e6a3826ca18e73.jpg

  5. 20 hours ago, A Zayed said:

    BTW I'll release a new version to avoid this situation and display a default icon image in case imageproxy is enabled.

    Was that the last version just released? If so, I upgraded the plugin, cleared cache, and also cleared cloudflare cache but the image with signature still isn't being shown with the new plugin.

    Here's an example page with link: https://www.christforums.com/forums/topic/20850-constantine-conspiracy-and-the-canon/

  6. On 3/20/2019 at 8:26 PM, HeadStand said:

    What service do you use for outgoing mail? PHP/SMTP/SendGrid?

    Just attaching a picture of how the unsubscribe link now looks:

    Newsletter.thumb.jpg.ca907f008780a7aa00b1124a449826b9.jpg

  7. 20 minutes ago, Joel R said:

    I only see a pre-distribution newsletter to my administrator account, so not sure if the problem is supposed to occur there, but I also only see *|weblink|* and *|unsubscribe|*

    Thanks, I'm referring to the final distribution that people are receiving including the test email I send to myself.

    @HeadStand it appears that my subscribers are not able to unsubscribe because the link only appears as *|unsubscribe|*  in the final distribution they receive.

  8. 1 hour ago, Joel R said:

    Thank you for update to Newsletters 2.1.1.  Currently running on Invision Community 4.4.2

    Does your unsubscribe link work? Mine stopped after the update. Just displays as plain text rather than a link.

    *|unsubscribe|*

  9. Just now, opentype said:

    Not really. It would require significant code changes, without doing much. SuperBlocks only uses container background images, which don’t slow down page rendering and then the browser fills in the empty slots dynamically. That already works nicely. Depending on the specific page, LazyLoad can even make a SuperBlocks page significantly worse, since instead of the current dynamic loading the content will only ever load when the user scrolls further, causing unnecessary delay, possibly many times per page. I tested it. While it makes a lot of sense for forum topics filled with GIFs and videos, I couldn’t see much improvement for my Pages uses. 

    Thank you for your thoughrough explanation!

  10. On 2/13/2019 at 9:26 AM, opentype said:

    No. SuperBlocks doesn’t use regular inline images. All images are loaded in containers with predefined sizes. So page rendering could always start before there wasn’t an image available. So lazy loading isn’t really suitable or necessary in this case. 

    Any plans on implementing Lazy Load or are your services for hire because I consider this a desirable feature?

    I tried to contact you by private message but it appears that you do not accept private messages.

    I'd like whatever content including superblocks to utilize lazy load below the visual fold.

  11. 2 minutes ago, TAMAN said:
    
    VERSION -4.2.4: Support for IPS 4.4.x
    

     

    How to update?

    Use ( Upload a new Version )

    36ceae0bcd2e60c652c1cd1ec36f82ea.png

    Sorry, forgot to add that this is with newest version 4.2.4 compatible with 4.4. Edge shows the ckeditor fine, I'm only having the contrasting issue in Firefox.

  12. 12 minutes ago, iacas said:

    Another assumption.

    So again I'll ask: do you even know that an update is needed for 4.4?

     Unless I see 4.4 compatibility in the market place I'll assume it is not. No sense purchasing a product which hasn't been tested.

    I'm using Beta 4.4 and had disabled the News letter application and I also disabled this particular product. The scheduled crons were kicking back errors which resulted in a running lock in task manager. Granted this was with Beta 1 and I haven't tested after updating to Beta 4.

    Most of my applications weren't compatible with 4.4 as they created above errors or resulted in template errors and weren't accessible by front end. While I understand that 4.4 is only in Beta, I expect in the market place that if 4.4 is stated that it is indeed compatible and not assumed to be compatible by the developer.

    Just my thoughts.

  13. 23 minutes ago, opentype said:

    No. SuperBlocks doesn’t use regular inline images. All images are loaded in containers with predefined sizes. So page rendering could always start before there wasn’t an image available. So lazy loading isn’t really suitable or necessary in this case. 

    One of the most desirable features in IPS 4.4 for me personally is Lazy Load. I generally try to limit images on the front page because of page size bloating and resulting increased page speed, with lazy load the option of placing images below the visual fold has the added benefit of a page appearing much smaller than it is on initial load. 

    Just a future feature request. ☺️

  14. I now get the following error when the plugin is enabled on page created with Pages:

     

    System: ".$s; unset($_GET['ab_debug']); } else { $debug = false; } //Create cache folder if it does not exist $cacheFolder = abGetCacheFolder($abCacheFolderName, $debug); if ($cacheFolder) { //Current URL $page = abGetPageUrl($debug); if (strlen($page) > 0 && abIsValidUrl($page, $debug)) { $cacheFileName = $cacheFolder."/".abGetCacheFileName($page, $debug); $cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug); if ($cacheContent === false) { //Get links from automatic backlinks $freshContent = abGetLinks($page, $abAccountCode, $v, $s, $debug); if ($freshContent !== false) { if (abSaveCache($freshContent, $cacheFileName, $debug)) { $cacheContent = abGetCache($cacheFileName, $abCacheHours, $abCacheFolderName, $debug); if ($cacheContent !== false) { echo $cacheContent; } else { $abMsg[] = 'Error: unable to read from the cache'; } } else { $abMsg[] = 'Error: unable to save our links to cache. Please make sure that the folder '.$abCacheFolderName.' located in the folder '.$_SERVER['DOCUMENT_ROOT'].' and is writable'; } } else { $abMsg[] = 'Error: unable to get links from server. Please make sure that your site supports either file_get_contents() or the cURL library.'; } } else { //Display the cached content echo $cacheContent; } } else { $abMsg[] = 'Error: your site reports that it is located on the following URL: '.$page.' - This is not a valid URL and we can not display links on this page. This is probably due to an incorrect setting of the $_SERVER variable.'; } } else { $abMsg[] = 'Error: Unable to create or read from your link cache folder. Please try to create a folder by the name "'.$abCacheFolderName.'" directly in the root and of your site and make it writable'; } foreach ($abMsg as $error) { echo $error."
    "; } /** * Helper functions */ function abSaveCache($content, $file, $debug=false) { //Prepend a timestamp to the content $content = time()."|".$content; echo ($debug) ? "

    Saving Cache: ".$content : ""; $fh = fopen($file, 'w'); if ($fh !== false) { if (!fwrite($fh, $content)) { echo ($debug) ? "

    Error Saving Cache!" : ""; return false; } } else { echo ($debug) ? "

    Error opening cache file for writing!" : ""; return false; } if (!fclose($fh)) { echo ($debug) ? "

    Error closing file handle!" : ""; return false; } if (!file_exists($file)) { echo ($debug) ? "

    Error could not create cache file!" : ""; return false; } else { echo ($debug) ? "

    Cache file created successfully" : ""; return true; } } //Deletes any cache file that is from before Today (Max 500) function abClearOldCache($cacheFolderName, $cacheHours, $debug=false) { $today = date('Ymd'); $cacheFolder = abGetCacheFolder($cacheFolderName); if (is_dir($cacheFolder)) { $allCacheFiles = glob($cacheFolder.'/*.cache'); $todaysCacheFiles = glob($cacheFolder.'/'.$today.'*.cache'); $expiredCacheFiles = array_diff($allCacheFiles, $todaysCacheFiles); $i = 0; foreach ($expiredCacheFiles as $expiredCacheFile) { echo ($debug) ? "

    Deleting expired cache file: ".$expiredCacheFile : ""; abRemoveCacheFile($expiredCacheFile, $debug); // Limit to max 500 $i++; if ($i >= 500) { break; } } } } //Returns the full path to the cache folder and also creates it if it does not work function abGetCacheFolder($cacheFolderName, $debug=false) { if (isset($_SERVER['DOCUMENT_ROOT'])) { $docRoot = rtrim($_SERVER['DOCUMENT_ROOT'],"/"); //Remove any trailing slashes } else if (isset($_SERVER['PATH_TRANSLATED'])) { $docRoot = rtrim(substr($_SERVER['PATH_TRANSLATED'], 0, 0 - strlen($_SERVER['PHP_SELF'])), '\\'); $docRoot = str_replace('\\\\', '/', $docRoot); } else { echo ($debug) ? "

    Error: Could not construct cache path" : ""; } $cacheFolder = $docRoot."/".$cacheFolderName; echo ($debug) ? "

    Cache folder is: ".$cacheFolder : ""; if (!file_exists($cacheFolder)) { echo ($debug) ? "

    Cache folder does not exist: ".$cacheFolder : ""; if (!@mkdir($cacheFolder,0777)) { echo ($debug) ? "

    Error - could not create cache folder: ".$cacheFolder : ""; return false; } else { echo ($debug) ? "

    Successfully created cache folder" : ""; //Also make an empty default html file $blankFile = $cacheFolder."/index.html"; if (!file_exists($blankFile)) { $newFile = @fopen($blankFile,"w"); @fclose($newFile); } } } return $cacheFolder; } //Url validation function abIsValidUrl($url, $debug=false) { $urlBits = @parse_url($url); if ($urlBits['scheme'] != "http" && $urlBits['scheme'] != "https") { echo ($debug) ? "

    Error! URL does not start with http: ".$url : ""; return false; } else if (strlen($urlBits['host']) < 4 || strpos($urlBits['host'], ".") === false) { echo ($debug) ? "

    Error! URL is incorrect: ".$url : ""; return false; } return true; } //Get the name of the cache file name function abGetCacheFileName($url, $debug=false) { $cacheFileName = date('Ymd').md5($url).".cache"; echo ($debug) ? "

    Cache file name for URL: ".$url." is ".$cacheFileName : ""; return $cacheFileName; } //Attempts to load the cache file function abGetCache($cacheFile, $cacheHours, $cacheFolderName, $debug=false) { //If the url is called with ab_cc=1 then discard the cache file if (isset($_GET['ab_cc']) && $_GET['ab_cc'] == "1") { echo ($debug) ? "

    Clear cache invoked!" : ""; abRemoveCacheFile($cacheFile); unset($_GET['ab_cc']); return false; } if (!file_exists($cacheFile)) { echo ($debug) ? "

    Error! Cache file does not exist! ".$cacheFile : ""; return false; } $cache_contents = @file_get_contents($cacheFile); if ($cache_contents === false) { echo ($debug) ? "

    Error: Cache file is completely empty!" : ""; return false; } else { echo ($debug) ? "

    Cache file contents: ".$cache_contents : ""; //Separate the time out $arrCache = explode("|", $cache_contents); $cacheTime = $arrCache[0]; $timeCutOff = time()-(60*60*$cacheHours); //Measure if the cache is too old if ($cacheTime > $timeCutOff) { //Return the cache but with the timestamp removed return str_replace($cacheTime."|", "", $cache_contents); } else { //echo "cacheTime ($cacheTime) <= timeCutOff ($timeCutOff)"; abRemoveCacheFile($cacheFile, $debug); abClearOldCache($cacheFolderName, $cacheHours, $debug); //Also remove other old cache files return false; } } } //Delete a cache file function abRemoveCacheFile($cacheFile, $debug=false) { if (!@unlink($cacheFile)) { echo ($debug) ? "

    Error: Could not remove cache file: ".$cacheFile : ""; return false; } else { echo ($debug) ? "

    Successfully removed the cache file: ".$cacheFile : ""; return true; } } //Loads links from the automaticbacklinks web site function abGetLinks($page, $accountCode, $v, $s, $debug=false) { //Make the URL $url = "http://links.automaticbacklinks.com/links.php"; $url = $url."?a=".$accountCode; $url = $url."&v=".$v; $url = $url."&s=".$s; $url = $url."&page=".urlencode($page); echo ($debug) ? "

    Making call to AB: ".$url : ""; ini_set('default_socket_timeout', 10); if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file_get_contents')) { echo ($debug) ? "

    Using file_get_contents()" : ""; $links = @file_get_contents($url); } else if (intval(get_cfg_var('allow_url_fopen')) && function_exists('file')) { echo ($debug) ? "

    Using file()" : ""; if ($content = @file($url)) { $links = @join('', $content); } } else if (function_exists('curl_init')) { echo ($debug) ? "

    Using cURL()" : ""; $ch = curl_init ($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $links = curl_exec($ch); curl_close ($ch); } else { echo ($debug) ? "

    Error: no method available to fetch links!" : ""; return false; } return $links; } //remove ab_cc etc. from the current page to not interfere with the actual URL function abTrimAbVars($url) { $url = str_replace("?ab_cc=1", "", $url); $url = str_replace("&ab_cc=1", "", $url); $url = str_replace("?ab_debug=ebb384a447fd60080ea871916bf0e13d", "", $url); $url = str_replace("&ab_debug=ebb384a447fd60080ea871916bf0e13d", "", $url); $url = str_replace("&phpinfo=1", "", $url); return $url; } //Get page function abGetPageUrl($debug=false) { $query = ""; $protocol = (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != "off") ? "https://" : "http://"; $host = $_SERVER['HTTP_HOST']; $page = null; if (isset($_SERVER["REDIRECT_URL"]) && !empty($_SERVER["REDIRECT_URL"])) { //Redirect if (isset($_SERVER['REDIRECT_SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['REDIRECT_SCRIPT_URI']; } else { //Use file and query $file = $_SERVER["REDIRECT_URL"]; if (isset($_SERVER['REDIRECT_QUERY_STRING'])) { $query = "?".$_SERVER['REDIRECT_QUERY_STRING']; } } } else { //No redirect if (isset($_SERVER['REQUEST_URI'])) { //Use URI if (substr($_SERVER['REQUEST_URI'],0,4) == "http") { //Request URI has host in it $page = $_SERVER['REQUEST_URI']; } else { //Request uri lacks host $page = $protocol.$host.$_SERVER['REQUEST_URI']; } } else if (isset($_SERVER['SCRIPT_URI'])) { //Use URI - it is complete $page = $_SERVER['SCRIPT_URI']; } else { $file = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING'])) { $query = "?".$_SERVER['QUERY_STRING']; } } } if (empty($page)) { $page = $protocol.$host.$file.$query; } $page = abTrimAbVars($page); echo ($debug) ? "

    This page is reported as: ".$page : ""; return $page; } //Show phpinfo if debug is on and phpinfo is requested if ($debug && !empty($_GET['phpinfo']) && $_GET['phpinfo']) { ?>

  15. 4 minutes ago, Adriano Faria said:

    Ok, so download and open conf_global.php and find board_start on it. You will see a 10 digits number. Change that sequence of numbers to 1407974400 and then save and upload the file. Now you’re able to change the member joined date to 08/15/2014.

    Genius!

    Thank you. Worked as described.

    My profile now displays my original account creation date before our IPS migration!

    https://www.christforums.com/profile/1-william/

×
×
  • Create New...