Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


 Content Type 



IPS4 Providers

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog



Posts posted by phpony

  1. The progress bar for multiple image uploader accepts only integer values, otherwise it displays NaN instead of current progress and scale is always at 0%. But gallery upload script returns float value as current step. If you upload 4 pics, everything will be fine - 25%, 50%, 75%, 100%. But if you upload 3 pics: 33.3333% => NaN, 66.6666% => NaN, 100%.

    To fix this I've changed a line it \applications\gallery\modules\front\gallery\submit.php line 877:

    return array( ++$offset, \IPS\Member::loggedIn()->language()->addToStack('processing'), 100 / ( \IPS\Request::i()->totalImages ?: $offset ) * $offset );


    return array( ++$offset, \IPS\Member::loggedIn()->language()->addToStack('processing'), intval(100 / ( \IPS\Request::i()->totalImages ?: $offset ) * $offset) );

    And now uploader shows correct progress for any number of pics.

  2. Hi fellow developers and members of community. I'm here with a small quality of life suggestion that can slightly improve the usability of forum software in some cases.

    The forum software I'm supporting is installed on server without direct internet access. Yes, that's weird, I know. And there's nothing I can do about. But there's a proxy server on internal network that may and should be used for all external connections. As for now I'm bound to implement a hardcode fix after each system's upgrade. All I do is editing the file system\Http\Request\Curl.php around lines 139-145 from this:

    			curl_setopt_array( $this->curl, array(			
    				CURLOPT_HEADER			=> TRUE,								// Specifies that we want the headers
    				CURLOPT_HTTP_VERSION	=> $httpVersion,						// Sets the HTTP version
    				CURLOPT_RETURNTRANSFER	=> TRUE,								// Specifies that we want the response

    To this:

    			curl_setopt_array( $this->curl, array(			
    				CURLOPT_PROXY => "",
    				CURLOPT_PROXYPORT => "1080",
    				CURLOPT_PROXYUSERPWD => "forum:password",			
    				CURLOPT_HEADER			=> TRUE,								// Specifies that we want the headers
    				CURLOPT_HTTP_VERSION	=> $httpVersion,						// Sets the HTTP version
    				CURLOPT_RETURNTRANSFER	=> TRUE,								// Specifies that we want the response

    After this change everything works as intended - oembed codes, updates check, marketplace, etc.

    So I'm here with a suggestion - I understand that I may be a single one user with such a problem, but maybe developers would find it useful to make their system a bit better by creating a group of system settings named "Proxy" with "Use a proxy for external connections" checkbox and "Proxy IP", "Proxy port", "Proxy type", "Proxy login", "Proxy password" strings, that could be passed into curl settings right there? That wouldn't break anything for existing customers but will provide additional opportunities for others in cost of few additional code lines and one `if` check.

    Thanks in advance!

  3. As much as I can see, the uLogin servie have added some tracking code to their authorisation backend. This have nothing to do with my hook, cause all it does is adding uLogin service to IP.Board using the API they provided. I'm neither owner, nor connected with uLogin in any way, and can't comment on why they did this, or is this safe or not to rely on this service. uLogin have "terms of service" on their site - http://ulogin.ru/rules.html - where they are stating the fact that they may collect statictic on usage. Installing this hook should probably mean acceptance of this policy. For clarify, and because of "shop.a108.net" insults, I think it will be a good solution to add this 2 statements into hook description:

    - By installing this hook you aree with uLogin terms of serivce published here: http://ulogin.ru/rules.html

    - Note: uLogin is tracking some statictic from your site with their widget, so you should use it on your own risk!

    Actually, a lot of people are still using uLogin and not considering visitor tracking as something harmfull. And so I do. But in the end - it's up to you to decide - is it safe to let this hook be in IPS Marketplace, or not.
  4. $INFO['sql_charset'] was added as a small workaround for those, who don't know how to configure their servers well. If you create your new database with default collation set as ut8_general_ci (for example), an if you push "default-character-set=utf8" to my.cnf - there will be no need in $INFO['sql_charset'] at all. And actually that's the only correct way to configure your MySQL as IP.Board to work with UTF-8. Triggering "SET NAMES" on each query - isn't. That's why it's hidden by default, to be used only by those, who is using cheap shared hosting and can't reconfigure their servers.

  5. File Name: uLogin for IPB 3.3.x

    File Submitter: Rainbow Dash

    File Submitted: 09 May 2012

    File Category: Hooks and Plugins

    3rd-party auth with a various social sites through famous Russian uLogin service: http://ulogin.ru/

    - upload "admin" folder to server;
    - ACP > Tools & Settings > Log In Management > uLogin > Install;
    - import hook file.

    By installing this hook you aree with uLogin terms of serivce published here: http://ulogin.ru/rules.html

    Note: uLogin is tracking some statictic from your site with their widget, so you should use it on your own risk!

    No additional actions or registrations needed. The plugin will create a complete member's accounts with random passwords, and as long as this hook will be installed and enabled, will allow users to log-in thought 3rd-party services into their permanent accounts. But if you'll remove this hook - users will still be able to reset their password throughout "forgot password" form and gain full access of their accounts.

    Don't remove this hook, if you're planning to continue it's usage later, or at least backup {prefix}ulogin table before deletion, cause otherwise you'll lost all connections between your members social accounts and forum profiles, and after reinstalling this hooks a blank new accounts will be created for them!


    Авторизация через социальные сайты посредством сервиса uLogin: http://ulogin.ru/

    - загрузить папку admin на сервер,
    - АЦ > Модули авторизации > uLogin > включить,
    - импортировать хук.

    Устанавливая данный хук, вы принимаете условия пользовательского соглашения, размещенные на странице: http://ulogin.ru/rules.html

    Внимание! Достоверно известно, что uLogin собирает статистику о ваших посетителях через свой виджет. Используйте на свой страх и риск!

    Больше ничего не требуется, сервис заработает сам. Принцип авторизации - на основании предоставляемых социалками данных пользователю создается полноценная учетная запись с рандомным паролем. В дальнейшем пользователь сможет либо снова авторизовываться через ту же социальную сеть, либо сменить/восстановить пароль через механизмы форума и входить напрямую.

    Не удаляйте хук после установки "просто так", т.к. это удалит таблицу привязок аккаунтов к социальным сервисам, и после переустановки пользователи будут создавать новые аккаунты, а не входить под старыми!

    Click here to download this file

  6. File Name: Inline Image Uploader for IP.Board 3.x
    File Submitter: Aoyagi Ritsuka
    File Submitted: 20 Feb 2012
    File Category: Hooks and Plugins

    External image uploader for CKEDitor in IPB 3.x.

    Extends IP.Board 3.x visual editor by adding additional "upload" tab to "Image" dialogue. Images are being uploaded and inserted into posts as "img" tag with direct link to uploaded image file. No access control, simple limitations. Perfrect solution for uploading inline illustrations.

    Check readme.txt for installation instructions.

    Not a modificatoin, cause no file edits are needed, but a more functional replacemend for "image" CKEditor's plugin. Can easily be reverted back by uploading original one from distributive.

    Click here to download this file

  7. Ok, I've found a problem in server configuration, so, the only one question left if is it safe to rely on md5() of creation date for forum pass? Looks like not safe for me, cause creation date is public listed value :)

  8. Actually, problem is somewere else, cause IPSCookie should automatically add prefixes, but... I still have loop with "Please wait while you are logged into this group\'s forum" message from here:

        	if( ( IPSCookie::get( "ipbforumpass_".$group['g_forum'] ) != md5( '' . $group['g_start'] ) )  ){
       		 IPSCookie::set( "ipbforumpass_".$group['g_forum'], md5( '' . $group['g_start'] ) );
       		 header( 'refresh: 0; url=http://'. $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] );
       		 $message = 'Please wait while you are logged into this group\'s forum.';
       		 return $this->registry->getClass('output')->getTemplate('groups')->showLoginMessage( $message, $group );

  9. group_forum_show hook doesn't respect Cookie settings, especially "cookie prefix", which leads to reloading loop.

    To reproduce - setup cookie prefix in ACP and then try to visit group's forum.

    Code that produces error:

     IPSCookie::set( "ipbforumpass_".$group['g_forum'], md5( '1' ) );

  10. Is this your board: http://www.winxperts.net/forums/ ?


    Actually, it seems that everything is ok. Maybe it's a browser issue? Which browsers are you using?

  11. PM button no longer works - it tries to create the modal window for the quick PM, but comes up an empty box.

    There is some kind of misunderstanding. This hook in not dealing with PM button at all. It only adds some new buttons, old ones (incl PM, which is IPS default) are left intact. So, there is a problem with your IP.Board after update, not with this hook.
  12. If hook contains some tables and IP.Board creates them during it's install, there will be a problems with upgrading and re-installing of this hook. Because as for now deletion of this hook also means a dropping it's database tables, which means loosing all user-created data.

    There must be an option to do not drop any MySQL tables in common with hook deletion.

    For example, this is actual for at last 2 hooks you can find in my signature. Uninstalling Multiava hook will drop all custom avatars, uninstalling Meta Everywhere hook means loosing all custom meta data. Even if you are doing this just for upgrade.

  13. I've noted yesterday, that in some cases 255 symbols is not enough to hold an URLs for non-latin language boards. It happens because of url encoding, when each symbol is represented by % and 2 digits.

    To solve this problem I've changed table structure a little:

    ALTER TABLE `meta` CHANGE `url` `url` VARCHAR( 555 ) NOT NULL

    If you already installed the hook and have problems with long urls (custom meta for them is not applying) - you can execute this query at "Support > SQL Management > SQL Toolbox" (not loosing any data) or just reinstall the hook (with loosing all data). Please note, that VARCHAR with length > 255 is supported only with MySQL 5.0.3+. Hook file in IPS Marketplace were updated.

    If you don't have any problems and running English-speaking board - don't bother yourself with this.

  14. File Name: (RI) MultiAvatars (Emoticons)
    File Submitter: Aoyagi Ritsuka
    File Submitted: 29 Nov 2010
    File Category: Hooks and Plugins

    Ability to collect and use a set of avatars and use different avatar for each post.

    Just take a look at screenshot.

    To install:
    - copy contents of upload folder to your forum root
    - import hook
    - configure hook at "System settings > Hooks > (RI) MultiAvatars"

    - different avatar for each post
    - collection of avatars
    - configurable restrictions
    - all actions are ajax-based
    - easy moderation tool

    Click here to download this file

  15. File Name: (RI) Meta Everywhere
    File Submitter: Aoyagi Ritsuka
    File Submitted: 29 Nov 2010
    File Updated: 30 Nov 2010
    File Category: Hooks and Plugins

    Overriding and setting up title, meta "keywords" and "description" for any page in IP.Board. Simple and clean, just check a screenshot.

    Right after installation follow to "ACP > System Settings > Hooks > (RI) Meta Everywhere" and set up a groups who can set a meta for a pages.

    Click here to download this file

  • Create New...