Jump to content



  • Content Count

  • Joined

  • Last visited

About Christforums

  • Rank
  • Birthday 02/16/1973

Contact Methods

Profile Information

  • Gender
  • Location

Recent Profile Visitors

449 profile views
  1. 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.
  2. Having a little trouble with latest ckeditor and default editor template while using Firefox. The color contrasting is off. Any advice? I tried clearing my browser's cache.
  3. 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.
  4. 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. ☺️
  5. Question about superblocks on pages in IPS 4.4 as I am currently running Beta. Does Lazy Load work with superblocks? It appears that the whole page loads all images rather than waiting to load images below the visual fold. Here's an example or page I have created using pages with superblocks: https://www.christforums.com/
  6. I'm receiving an error when trying to donate after upgrading to Beta. No changes were made other than the upgrade: Sorry, there is a problem There are no available payment methods. This can happen if, for example, you have two products that are set to only be able to be paid for by two different payment methods and you try to purchase them together. Or, if you restrict payment methods to only be available to certain countries and there are no payment methods available for this billing address. Error code: 4X196/3
  7. Where is GIPHY in the Editor? I do not see where to enable it in admincp?
  8. I'm sure you've run into a site which didn't have an og image etc to embed so the embed link is blank and white. Is it possible to use a default image when no image is set up or available from linked site?
  9. 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']) { ?>
  10. There was a product named "Advanced Profile Edits" which allowed someone to view the profile and change everything from the profile including notifications without loggin into the account. I run this on my board and it helps speed along such process. The product is no longer available but says to contact the developer: @Adriano Faria
    5 Star rating for a product which allows the join date to be changed. In my case a minor edit to the conf_global.php file's start date had to be made in order to go back before my IPS migration. My original site was on Vbulletin and my account was created back in 2014. I, being inexperienced had merged my old account during the migration to the new account rather than vice versa. The IPS migration took place in 2018 so the edit to the conf_global.php file was to allow join date before the board's migration back to 2014. If you're having to do the same because of making this error during the migration of your board Adriano Faria will be counting the seconds until you reach out to him for support! 😮 In all seriousness, 5 stars for a product that does what it says and for quick support. Many thanks Adriano!
  11. 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/
  12. Yes, 08/15/2014. I am able to FTP and make changes to the conf_global.php file. My site was created in 2014 however we migrated to IPS last April.
  13. Running into an error. The reason I need to change the join date is because an old account was merged into the new account after my board's creation. Seems the plugin doesn't like the fact that I'm trying to create a join date before the board's creation. I need the join date to be 08/15/2014.
  14. Indeed it is fixed. Thank you very much!
  • Create New...