Rainbow Dash

Members
  • Content count

    447
  • Joined

  • Last visited


Rainbow Dash's Activity

  1. Rainbow Dash added a post in a topic: IPB connection charset during the installation and after   

    $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.
  2. Rainbow Dash added a comment: Ajax fast editing of post is broken after upgrate to 3.4.3: no CKEditor in Google Chrome   

    The problem is gone. I did nothing, didn't even rebooted the PC. Just tried to reproduce the bug again today, 24 hours later, and now editor appears as it should be both in standard and custom skins...

    I think in my case this can be just a Chrome's glitch. Sorry for false alert. Will report with new details if it will fail again.
  3. Rainbow Dash added a record in IP.Board   

    Ajax fast editing of post is broken after upgrate to 3.4.3: no CKEditor in Google Chrome
    Checked both on standard and custom skins.
     
    In Google Chome (Version 26.0.1410.12 dev) ajax post editing is partially broken. The textarea appears, but nothing happens then, no CKEditor. 
     
    The request to /index.php?s={sess}&app=forums&module=ajax&section=topics&do=editBoxShow&p=134500&t=4903&f=20 is passing well, and there is an init code for textEditor in server response:
     [code=html:0]<script type="text/javascript"> ipb.textEditor.initialize('edit-134500', { type: 'full', height: 300, minimize: 0, bypassCKEditor: 1, delayInit: 0, isHtml: 0, isRte: 0, noSmilies: 0, disabledTags: [], isTypingCallBack: '', ips_AutoSaveKey: '', ips_AutoSaveData: [] } ); </script> [/code] 
    It's loads to page content, being executed, but nothing happens. And there is no errors in developers console. When I'm trying to manually copy this JS bit and execute it through browser's console, nothing happens also:
     
    [attachment=48887:console.png]
    (here on screenshot you can see a custom skin and Russian language, but I've also tried this on default skin vs English language).

    When I'm trying to cancel editing, the only reaction I get is a new error message in console:[code=auto:0]Uncaught TypeError: Cannot read property 'edit-134500' of undefined index.php:1619 IPBoard.textEditorObjects.Class.create.remove index.php:1619 _topic.topic.ajaxEditCancel index.php:1835 (anonymous function)[/code]Which sounds reasonable, cause editor 'edit-134500' were not initialized.

    I've also tested this in Firefox, and 1 in 50 times I can reproduce this bug there. But in Chrome this happens every time.

    UPD. Seems to be related with this - [url="http://community.invisionpower.com/resources/bugs.html/_/ip-board/html-code-showing-when-editing-posts-r41482"]http://community.invisionpower.com/resources/bugs.html/_/ip-board/html-code-showing-when-editing-posts-r41482[/url]
    • 0 replies
    • 0 views
  4. Rainbow Dash added a record in IP.Content   

    Cloudflare + Flexible SSL + IP.Content = Page not found
    Found a problem using Cloudflare vs site under IP.Content.

    In conf_global.php i have:
    [code]$INFO['board_url'] = 'https://example.com';[/code]

    But Apache server is configured only for HTTP output, HTTPS encoding "on the fly" is provided by Cloudflare's "[url=https://support.cloudflare.com/kb/pro-accounts/what-do-the-three-ssl-options-off-flexible-full-mean]Flexible SSL[/url]" service.

    [code]Visitor <-- SSL --> CloudFlare <-- non-SSL --> Origin[/code]

    The problem hides in method _getPageAndFolder of ccsFunctions class. I've spend some hours on debug, but still can't say why exactly 404 happens, but I've found that in this situation _getPageAndFolder produces $folder variable equal to "/http://example.com/folder" instead of "folder". Probably, this happens because a lot of functions here are relying on $_SERVER. Hardcoding $folder to specified folder solves the problem.

    Don't think it's an important bug, but if someone is using Cloudflare's PRO services, could you please test your IP.Content sites with it's FLexible SSL just for sure?
    • 0 replies
    • 0 views
  5. Rainbow Dash added a comment: Cyrillic categories and products in Nexus   

    Temporary changed furl templates to this to make it work:

    [code] 'storecat' => array(
    'app' => 'nexus',
    'allowRedirect' => 0,
    'out' => array( '/app=nexus(? ?:&|&amp;))module=payments(? ?:&|&amp;))cat=(\d+)/i', 'store/category/$1/' ),
    'in' => array(
    'regex' => "#/store/category/(\d+?)(-|/|$)#i",
    'matches' => array(
    array( 'app', 'nexus' ),
    array( 'module', 'payments' ),
    array( 'cat', '$1' ),
    )
    )
    ),
    'storeitem' => array(
    'app' => 'nexus',
    'allowRedirect' => 0,
    'out' => array( '/app=nexus(? ?:&|&amp;))module=payments(? ?:&|&amp;))section=store(? ?:&|&amp;))do=item(? ?:&|&amp;))id=(\d+)/i', 'store/product/$1/' ),
    'in' => array(
    'regex' => "#/store/product/(\d+?)(-|/|$)#i",
    'matches' => array(
    array( 'app', 'nexus' ),
    array( 'module', 'payments' ),
    array( 'section', 'store' ),
    array( 'do', 'item' ),
    array( 'id', '$1' ),
    )
    )
    ),[/code]
  6. Rainbow Dash added a record in IP.Nexus   

    Cyrillic categories and products in Nexus
    When I'm creating a packed with Cyrillic name "Русские буквы", I've got this furl for it:

    http://example.com/store/category/9-%d1%80%d1%83%d1%81%d1%81%d0%ba%d/ - "русск%d"

    Which is "400 Bad Request" cause of wrong 'in-middle' cut.

    http://example.com/store/category/9-%d1%80%d1%83%d1%81%d1%81%d0%ba%d/

    This makes Nexus completely unusable.
    • 0 replies
    • 0 views
  7. Rainbow Dash added a record in IPS Web Site and Client Area (not for software issues)   

    Lost access to contributors forum
    1. My license suddenly (as always) expired.
    2. Was moved to "Members" group and lost access both to "clients" and "contributors" forums (still having "Contributor" badge).
    3. Renewed license in few hours.
    4. Was moved to "+Clients" group back and achieved access to "clients" forum, but not to "contributors".

    Looks like something is wrong in this routines. Probably, members should either not loose access to "contributors" on license expiration, or achieve it back on renew.
    • 0 replies
    • 0 views
  8. Rainbow Dash added a comment: No comment forms here at IPS   

    Yep. Now I'm +Client again and can comment those posts. So, it seems like a feature, and that's just a matter of how permissions are set.

    Case solved.
  9. Rainbow Dash added a record in IP.Board   

    No comment forms here at IPS
    As for now I can't comment neither blog posts (for example, [url=http://community.invisionpower.com/blog/2568/entry-7514-33x-skins-now-available-ipbforumskins/]this[/url]), nor file uploads (for example, [url=http://community.invisionpower.com/files/file/5368-metro/]this[/url]). There simply no comment form for me.

    I don't know is this a bug or feature, or comments are disabled for not-clients (I've renewed expired license few hours ago but as for now still in "Members" group), so I'm reporting this here.
    • 0 replies
    • 0 views
  10. Rainbow Dash added a post in a topic: IP.Board required more optimization   

  11. Rainbow Dash added a comment: classPost.php addReply()   

    [b]bfarber[/b], here is how it is documented:

    [CODE]
    /**
    * Post a new topic
    * Very simply posts a new topic. Simple.
    *
    * Usage:
    * $post->setTopicID(100);
    * $post->setForumID(5);
    * $post->setAuthor( $member );
    *
    * $post->setPostContent( "Hello [b]there![/b]" );
    * # Optional: No bbcode, etc parsing will take place
    * # $post->setPostContentPreFormatted( "Hello [b]there![/b]" );
    * $post->setTopicTitle('Hi!');
    * $post->addTopic();
    [/CODE]
    http://community.invisionpower.com/resources/doxygen/classclass_post.html#a9216115d1207230e10143edea05f55ab

    It says - "use setTopicID", and it's not working. So I'll confirm this as a bug
  12. Rainbow Dash added a comment: Ugly bfarber's avatar, or logical mistake in classImageGD   

    [quote]and draw it at x: 0, y: 0 expanding to 100x100 (default)[/quote]
    "expanding" here should be read as "fitting".

    This is a propotional fit, and so the black border for our 150x95 image will not be equal to (100-95/2), as we count. It will be equal to ((100-95/2)*100/150). But we don't even need to calculate this. We can rely on "fill".

    Notice: imagefill is a bad solution too. It only indicates the problem. If user photo has a black parts on sides - they will be filled too. So, there is 2 only solutions:

    1) Do separate calculations for each side don't forgetting about proportional scale of "black borders".

    2) Prepare image before imagecopyresampled to be bigger && square, so, no black borders at all and no need to fill them
  13. Rainbow Dash added a comment: Ugly bfarber's avatar, or logical mistake in classImageGD   

    [quote]and draw it at x: 0, y: 0 expanding to 100x100 (default)[/quote]
    "expanding" here should be read as "fitting".

    This is a propotional fit, and so the black border for our 150x95 image will not be equal to (100-95/2), as we count. It will be equal to ((100-95/2)*100/150). But we don't even need to calculate this. We can rely on "fill".

    Notice: imagefill is a bad solution too. If user photo has a black parts on sides - they will be filled too. So, there is 2 only solutions:

    1) Do separate calculations for each side don't forgetting about proportional scale of "black borders".

    2) Prepare image before imagecopyresampled to be bigger && square, so, no black borders at all and no need to fill them
  14. Rainbow Dash added a comment: Ugly bfarber's avatar, or logical mistake in classImageGD   

    Actually, the problem is more complicated.

    If we have an image 90x150, than resizeImage will have:

    [code]
    [orig_dimensions] => Array
    (
    [width] => 95
    [height] => 150
    )
    [cur_dimensions] => Array
    (
    [width] => 100
    [height] => 100
    )
    [_cropX] => -18
    [_cropY] => 0
    [/code]

    It will make imagecopyresampled from original starting at x: 0, y: -18 (that's where the black border is added), and draw it at x: 0, y: 0 expanding to 100x100 (default). This means, that we can't rely on $this->orig_dimensions calculating the borders we need to remove. That's why it's not working at all

    But we can rely on $this->_cropX and $this->_cropY, cause if it's < 0 - it certainly means a black borders 1px, or bigger. So, here is a code:
    [code] /* If this is the second pass, see if we need to do a BG fill */

    if ( $secondPass )

    {

    $iCol = @imagecolorallocatealpha( $new_img, 245, 245, 245, 0 );
    if($this->_cropX < 0 || $this->_cropY < 0) {
    @imagefill( $new_img, 1, 1, $iCol );
    @imagefill( $new_img, $new_dims['img_width']-1, $new_dims['img_height']-1, $iCol );
    }

    }[/code]

    This will do the job.
  15. Rainbow Dash added a record in IP.Board   

    Ugly bfarber's avatar, or logical mistake in classImageGD
    Here is a logical mistake in resizeImage method of classImageGD:
    [code]
    if ( $secondPass )

    {

    if ( $this->orig_dimensions['width'] < $width AND $this->orig_dimensions['height'] < $height )

    {
    [/code]

    As you can see here, black borders are refilled with rgb(245,245,245) only if BOTH sides of image are smaller than 100x100 (default). That's why bfarber's avatar now is with black borders on both sides:

    [img]http://content.community.invisionpower.com/uploads/profile/photo-thumb-46197.jpg[/img]

    Also applies for thumbnails in Gallery 4.

    Should be fixed as soon as possible, cause we're all love bfarber and don't want to make him sad :3
    • 0 replies
    • 0 views