This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
3331
Features / Re: New revs
« on March 29th, 2013, 12:06 AM »
rev 2034 -- avatar and notification fixes from rev 2032. Hopefully didn't forget anything...
(4 files, 2kb)
! Fixed a wrong test that preventing avatars from being shown at all in topic pages. (Load.php)
! And, hum, another minor bug prevented avatars from being re-filled when first calling loadMemberAvatar and THEN loadMemberContext. Not that I think this would happen normally, but I'd rather not take any chances. (Load.php)
! JavaScript retrieval of notification updates would break because of a wrong variable name, effectively emptying the popup (that's for anyone wondering why this would happen.) (Notifications.php)
! Some quick temp hacks to fix notification popup styling. (Notifications.template.php, index.css)
* Made $avatar_width and $avatar_height static. (Load.php)
(4 files, 2kb)
! Fixed a wrong test that preventing avatars from being shown at all in topic pages. (Load.php)
! And, hum, another minor bug prevented avatars from being re-filled when first calling loadMemberAvatar and THEN loadMemberContext. Not that I think this would happen normally, but I'd rather not take any chances. (Load.php)
! JavaScript retrieval of notification updates would break because of a wrong variable name, effectively emptying the popup (that's for anyone wondering why this would happen.) (Notifications.php)
! Some quick temp hacks to fix notification popup styling. (Notifications.template.php, index.css)
* Made $avatar_width and $avatar_height static. (Load.php)
3333
Features / Re: New revs - Public comments
« on March 28th, 2013, 08:53 PM »
Avatars fixed...
As for notifications -- I have about 5 minutes left to fix them... So I guess it'll be hard for tonight. I'll just focus on the missing background ;)
As for notifications -- I have about 5 minutes left to fix them... So I guess it'll be hard for tonight. I'll just focus on the missing background ;)
3334
Features / Re: New revs - Public comments
« on March 28th, 2013, 08:36 PM »
No need for a screenshot -- as I said in my thoughts, I broke the site™™™™.
I don't know why avatars are invisible, but it's certainly due to loadMemberAvatar(). I'll look into it.
Notifs... Meh!! This is mostly due to the fact that I had to 'backtrack' my CSS code because I was starting to tear everything apart to load as little HTML as possible, and I wasn't sure where exactly I should stop backtracking... I guess I stopped at the wrong place! :^^;:
I don't know why avatars are invisible, but it's certainly due to loadMemberAvatar(). I'll look into it.
Notifs... Meh!! This is mostly due to the fact that I had to 'backtrack' my CSS code because I was starting to tear everything apart to load as little HTML as possible, and I wasn't sure where exactly I should stop backtracking... I guess I stopped at the wrong place! :^^;:
3335
Features / Re: New revs
« on March 28th, 2013, 07:42 PM »
rev 2032 -- notification updates. And also the year where Bubblegum Crisis starts...[1]
(9 files, 13kb)
+ Split loadMemberContext() into another function, loadMemberAvatar(), which can load a user's avatar and only that, if you don't need anything else, including expansive things like signature. (Load.php)
* Moved notifications bar to the header, with fallbacks to the sidebar and the main layer. (Notifications.php)
+ Added loadMemberData() to all notifications prior to showing them. This allows you to show an avatar next to the notifications. This is only temp code, as from what I gathered, Dragooon offered a patch to add proper support for issuers, meaning this will probably require tweaks. (Notifications.php)
* Updated notification code to optimize template size. There is more to come... But it implies committing more files, and I need to draw a line. So, in case you're wondering: if it's buggy, I'm probably already aware of it... (Notifications.template.php, index.css, notifications.js)
* Notification popup will now use proper relative positioning, instead of JavaScript-driven positioning. The notification JS is thus probably unrecognizable by now... The magic of Naoisms. It's also much, much shorter. By something like 100 or 150 bytes. I'll add Wess support for user-select later. It's in my to-do. (index.css, notifications.js)
* Notification CSS is member-only. Saves bytes! Also fixed things like ':parent'... (index.css)
* Moved some CSS around for logic reasons. And yes, it saves bytes, too... (index.css, sections.css, index.member.css)
* Translation, spacinazi. (Notifications.language.php)
(9 files, 13kb)
+ Split loadMemberContext() into another function, loadMemberAvatar(), which can load a user's avatar and only that, if you don't need anything else, including expansive things like signature. (Load.php)
* Moved notifications bar to the header, with fallbacks to the sidebar and the main layer. (Notifications.php)
+ Added loadMemberData() to all notifications prior to showing them. This allows you to show an avatar next to the notifications. This is only temp code, as from what I gathered, Dragooon offered a patch to add proper support for issuers, meaning this will probably require tweaks. (Notifications.php)
* Updated notification code to optimize template size. There is more to come... But it implies committing more files, and I need to draw a line. So, in case you're wondering: if it's buggy, I'm probably already aware of it... (Notifications.template.php, index.css, notifications.js)
* Notification popup will now use proper relative positioning, instead of JavaScript-driven positioning. The notification JS is thus probably unrecognizable by now... The magic of Naoisms. It's also much, much shorter. By something like 100 or 150 bytes. I'll add Wess support for user-select later. It's in my to-do. (index.css, notifications.js)
* Notification CSS is member-only. Saves bytes! Also fixed things like ':parent'... (index.css)
* Moved some CSS around for logic reasons. And yes, it saves bytes, too... (index.css, sections.css, index.member.css)
* Translation, spacinazi. (Notifications.language.php)
| 1. | If I couldn't reference Blade Runner and Akira's 2019 setting, then at least I can reference the best Blade Runner clone ever released, made around the same time as Akira... Lucky me ;) |
3336
Features / Re: New revs - Public comments
« on March 28th, 2013, 06:30 PM »:edit: One deals with the permission groups, one deals with the individual permissions and the group it is supposed to go into. They should not both be the same. I will fix it in my next rev.
Hmm, a bug with the auto splitter... Sometimes it inserts two blank lines after opening the quote again. Uh.
Fairly sure I gave the notification action a title some days ago.
Can a skin replace part of index.template.php?
We discussed it at length back in the day. Having template files inside skin folders is very doable, but it's not 'clean'. I'm always torn between the two sides of the problem, eh...
And I see no reason off hand why this should even work. preparsecode has always converted line breaks out - always.
$message = strtr($message, array("\n" => '<br>'));Meaning what it means... ;)
(And you noticed that too, now that I'm reading the rest of your post.)
I'm not being funny but did you even look at the UI in the admin panel for this?
The reason my file had no line breaks and br tags in it is because I ran it through preparsecode. That's what preparsecode does, amongst other things: strips the line breaks and converts them to br tags. I then specifically call un_preparsecode on it when I prepare it for the rich text editor so that people can use full formatting it without having to get their hands dirty like they had to in the old days - hell, most people didn't even know the agreement supported bbc parsing.
So I checked parse_bbc and lo, there is a linebreak to br conversion, yet I cannot think of a single time outside of this one area where this ever EVER comes into play.
Maybe we could simply remove that line (and fix anything it breaks), remove the parse_bbc call from agreements, and use HTML to break lines. (And still keep line breaks to make the strings breathe. i.e.,
$txt['...'] = 'Hello,
<br><br>
World.';
Would work for me...
Agreements... they're the odd ball. I deliberately tried to harmonise it - working under the assumption that it had to be that way as it was my understanding that parse_bbc didn't do linebreaks.
And, as ever, I wasn't intending them to have to edit it as such. The grand plan involves having language editing tools for translators on this site.
The idea of having a template like this is a noble one, but it's also sadly naive of our userbase - it's giving them infinitely more credit than most of them would actually be due.
This is why I've been talking about content management and adding a CMS into the mix for the simple reason that most admins can only manage something if given a nice UI to play with, it's why so many of them jump to Simple Portal and co, so that they can have nice front pages and so on.
So instead of giving them the barest bones tools for the job, we need to give them more powerful tools.
3337
Features / Re: Plugin revs
« on March 28th, 2013, 05:37 PM »
And this one, with more important changes. Or not ;)
rev 80
(11 files, 6kb)
* document.location should be window.location, which in turn should be just 'location'... Also, location.href should just be location in most cases. (readability/Readability-Main.php, skin_selector/SkinSelector.php, wedgedesk/js/helpdesk.js)
* new Date should be $.now(), compresses better overall. (calendar/js/dateinput.js, mass_attach/attachui.js)
* No need for CDATA in HTML5 templates. (recaptcha/reCaptcha-Main.php)
* Britishism. I'm leaving the ones in WedgeDesk, as it's got 'Pete' written all over it. (recaptcha/reCaptcha-Admin.english.php, topic_solved/lang/TopicSolved-Admin.english.php)
! reqWin(this.href) is a SMF call. Also replaced some occurrences of helptopics.gif with the help class. Not tested. (wedgedesk/src/Subs-WedgeDeskLog.php, wedgedesk/tpl/WedgeDesk-Admin.template.php, wedgedesk/tpl/WedgeDesk-AdminMaint.template.php)
rev 80
(11 files, 6kb)
* document.location should be window.location, which in turn should be just 'location'... Also, location.href should just be location in most cases. (readability/Readability-Main.php, skin_selector/SkinSelector.php, wedgedesk/js/helpdesk.js)
* new Date should be $.now(), compresses better overall. (calendar/js/dateinput.js, mass_attach/attachui.js)
* No need for CDATA in HTML5 templates. (recaptcha/reCaptcha-Main.php)
* Britishism. I'm leaving the ones in WedgeDesk, as it's got 'Pete' written all over it. (recaptcha/reCaptcha-Admin.english.php, topic_solved/lang/TopicSolved-Admin.english.php)
! reqWin(this.href) is a SMF call. Also replaced some occurrences of helptopics.gif with the help class. Not tested. (wedgedesk/src/Subs-WedgeDeskLog.php, wedgedesk/tpl/WedgeDesk-Admin.template.php, wedgedesk/tpl/WedgeDesk-AdminMaint.template.php)
3338
Features / Re: Plugin revs
« on March 28th, 2013, 05:36 PM »
Oh yes, while I'm at it...
rev 79
(19 files, 12kb)
* Spacinazi and other minor Naoisms. (calendar/Calendar.php, calendar/CalendarPost.php, calendar/css/dateinput.css, calendar/ManageCalendar.php, recaptcha/recaptchalib.php, wedgedesk/css/helpdesk.css, wedgedesk/install-xml/install-attachments.xml, wedgedesk/lang/WedgeDesk.english.php, wedgedesk/src/WedgeDesk-Admin.php, wedgedesk/src/WedgeDesk-AdminMaint.php, wedgedesk/src/WedgeDesk-AdminPermissions.php, wedgedesk/src/WedgeDesk-AjaxHandler.php, wedgedesk/src/WedgeDesk-Post.php, wedgedesk/src/WedgeDesk-Profile.php, wedgedesk/src/WedgeDesk-SSI.php, wedgedesk/src/WedgeDesk-TicketTopicMove.php, wedgedesk/tpl/WedgeDesk-AdminPermissions.template.php, wedgedesk/tpl/WedgeDesk-Profile.template.php, wedgedesk/tpl/WedgeDesk.template.php)
rev 79
(19 files, 12kb)
* Spacinazi and other minor Naoisms. (calendar/Calendar.php, calendar/CalendarPost.php, calendar/css/dateinput.css, calendar/ManageCalendar.php, recaptcha/recaptchalib.php, wedgedesk/css/helpdesk.css, wedgedesk/install-xml/install-attachments.xml, wedgedesk/lang/WedgeDesk.english.php, wedgedesk/src/WedgeDesk-Admin.php, wedgedesk/src/WedgeDesk-AdminMaint.php, wedgedesk/src/WedgeDesk-AdminPermissions.php, wedgedesk/src/WedgeDesk-AjaxHandler.php, wedgedesk/src/WedgeDesk-Post.php, wedgedesk/src/WedgeDesk-Profile.php, wedgedesk/src/WedgeDesk-SSI.php, wedgedesk/src/WedgeDesk-TicketTopicMove.php, wedgedesk/tpl/WedgeDesk-AdminPermissions.template.php, wedgedesk/tpl/WedgeDesk-Profile.template.php, wedgedesk/tpl/WedgeDesk.template.php)
3339
Features / Re: Crazy idea: fonts as a preference
« on March 28th, 2013, 10:47 AM »
I'm not sure I'm following...
In order to offer different font choices to the user:
- create a new folder in your skins folder.
- create a new file called skin.xml
Code: [Select]
- create a common.css file
Code: [Select]
I haven't tested, but it should be enough... Repeat as needed for other fonts.
If you're just worried about the size, just reduce the common.css file's content to the second line... Play with the numbers. And/or play with the $post_font_size size, for post bodies.
You may want to do a tutorial out of this (once tested.)
If you want an "a A" duo of buttons somewhere in the header to allow people to change their font size on the fly (e.g. here), it's very doable in JavaScript, but I'd see it more as plugin material... (Heck, I could even write it :P)
In order to offer different font choices to the user:
- create a new folder in your skins folder.
- create a new file called skin.xml
<?xml version="1.0"?>
<skin>
<name>Weaving (Open Sans)</name>
<css include="http://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,700italic"></css>
</skin>- create a common.css file
$main_font = Open Sans
$main_font_size = 85%/130%
$menu_font = $main_font
$subject_font = $main_fontI haven't tested, but it should be enough... Repeat as needed for other fonts.
If you're just worried about the size, just reduce the common.css file's content to the second line... Play with the numbers. And/or play with the $post_font_size size, for post bodies.
You may want to do a tutorial out of this (once tested.)
If you want an "a A" duo of buttons somewhere in the header to allow people to change their font size on the fly (e.g. here), it's very doable in JavaScript, but I'd see it more as plugin material... (Heck, I could even write it :P)
3340
Features / Re: New revs - Public comments
« on March 28th, 2013, 10:37 AM »<?php
- if (empty($group['name']) || empty($group['type']) || empty($group['classic']) || empty($group['simple']))
+ if (empty($group['name']) || empty($group['type']) || empty($group['name']))
At some point you renamed 'simple' and 'classic' to 'name', at other points to 'group'. I suspect the one above should say 'group' instead of 'name', but I'm not sure, I haven't tested anything. I'm just trying to update all the plugins to use the new permissions, and I'm stuck with that.
No, I didn't. But any place with a linktree is also going to be setting the title, which is a context variable.
Ah... that's where you and I differ. WYSIWYG pretty much demands the buttons from a usability perspective and realistically the buttons are more important to me than the shortcuts are.
Thanks to shortcuts (which are dealt by a cached JavaScript file, and thus always available), even in Wysiwyg mode you can easily bold a text by pressing Ctrl+B, if you're used to Word or Wordpad or Write or whatever... Of course, the browser has to cooperate, too -- there are some that use this shortcut for a bookmark popup, like Sleipnir (my current default) or IE IIRC. Still. I don't see a need for buttons in most cases.
I don't know. I just know I hate crazy and inconsistent interfaces - you know my thoughts about Enter vs Ctrl Enter on Facebook for example ;)Quote I was wondering whether we shouldn't be inverting the process on desktop..?
I'll tell you my preference -- the way it's done right now. But the sane and consistent choice? Probably the other way around, I guess...
Actually, it's probably from SMF originally.
And it was unneeded. No need to waste HTML for 'this.href' when we can pass 'this' and then get the href in the cached JavaScript.
Apparently, the SMF team thought it was still too short though, so they renamed the whole thing to reqOverlayDiv(this.href) :lol:
To think that I've always considered renaming reqWin() to just popup()... :^^;: (I don't know why I'm not doing it.)
I don't remember much of WD, mostly it was brute-force conversion of SD original to whatever was current in Wedge at the time.
The problem with a language indicating its parent like that means you implicitly have to load the file twice - load index once, learn that you need to have a parent, load the parent, reload the index to reinstate changes from that. Though once you've done that, you can avoid it further.
- load default index.english.php
- load language (English UK, French...) index
- do nothing.
- cache results.
Then, later:
- load default specificfile.english.php
- if $txt['lang_parent'] != 'english', load specificfile.$txt['lang_parent'].php, if not there, ERROR.
- attempt to load specificfile.language.php -- if not there, if empty($txt['lang_parent']) ERROR (because we ARE supposed to have a full file in this case), else ignore.
- cache results.
And that's the worst case scenario, to me...?
Which means now what's in the database is explicitly different to what's used for actual users, but heigh ho and all that. Reason: preparsecode will convert out all the line breaks.Quote * Because the registration agreement is a special language string that's explicitly parse_bbc'd
All I know is that SMF has this:
$context['agreement'] = parse_bbc(file_get_contents($boarddir . '/agreement.' . $user_info['language'] . '.txt'), true, 'agreement_' . $user_info['language']);And you have a similar one, except you're using $txt instead of file_get_contents.
The rest is the same, i.e. you parse_bbc it. If you didn't want it to be parsable, you should remove the parse_bbc call and revert the $txt strings to use HTML instead.
Please tell me why a user would do this. Translators are the only people who should be looking at raw language files.Quote This also makes them easier to use them as base for your own registration agreement.
In which case, having a long line of text will be annoying to translate for them, unless they enable wrap mode, but not everybody thinks of that. (Heck, I pretty much never enable wrap mode, except when I have to read a TXT file that was built that way...)
So users who get the final distro are going to be expected to hand code stuff? Might as well write off Wedge now then because most users do NOT want to hand code ANYTHING. If anything, not only does it need to stay but it needs an admin UI as well.Quote Missing file. Note that Home files are not supposed to be in the final distro, and that I'm sure I'll forget all about it soon enough, but whatever...
The purpose of the differentiation between Home and Welcome is that in the case of Home, I could distribute it separately from the package, but the entire package itself is suppose to be comprised only of files that should NOT be modified. Well, Welcome is here to say, "create your own homepage now... And name it differently!", it doesn't do that yet, but that's the idea.
I know that as a forum admin hobbyist, back in the day, I wanted to change the homepage but was wary of having my changes overwritten by new forum updates. In the end, I had to create patches and other horrible things.
One of my goals with Wedge (and yours, see plugin system!) is to allow users to update their forum files without any influence over their modifications (as long as they follow the guidelines to modify things.) First thing for that is to allow for the homepage (most often modified page) to be overridden and redirected to another page of yours.
Your post wasn't very... lively... Any problems..?
3341
Off-topic / Re: Unknown Action
« on March 27th, 2013, 06:02 PM »
notification action, for instance..? ;)
3342
Features / Re: New revs
« on March 27th, 2013, 11:48 AM »
rev 2029
(4 files +1, 4kb)
+ All touch-enabled devices will now get automatic quote splitting for free. As they don't have a Shift or Ctrl key to use along with Enter, it only makes sense, especially given how hard it is to make quotes in mobile mode. Heck, this suddenly makes quoting messages possible in Android, iOS and whatever. Thanks Dragooon for the suggestion! (editor-func.js)
* Because the registration agreement is a special language string that's explicitly parse_bbc'd, I turned its HTML tags (double line-breaks) into actual line-breaks. This also makes them easier to use them as base for your own registration agreement. If you're never heard about text wrap mode, of course. (Agreement.language.php)
* Missing file. Note that Home files are not supposed to be in the final distro, and that I'm sure I'll forget all about it soon enough, but whatever... (Home.english-uk.php)
(4 files +1, 4kb)
+ All touch-enabled devices will now get automatic quote splitting for free. As they don't have a Shift or Ctrl key to use along with Enter, it only makes sense, especially given how hard it is to make quotes in mobile mode. Heck, this suddenly makes quoting messages possible in Android, iOS and whatever. Thanks Dragooon for the suggestion! (editor-func.js)
* Because the registration agreement is a special language string that's explicitly parse_bbc'd, I turned its HTML tags (double line-breaks) into actual line-breaks. This also makes them easier to use them as base for your own registration agreement. If you're never heard about text wrap mode, of course. (Agreement.language.php)
* Missing file. Note that Home files are not supposed to be in the final distro, and that I'm sure I'll forget all about it soon enough, but whatever... (Home.english-uk.php)
3343
Features: Posts & Topics / Re: Automatic Quote splitter
« on March 27th, 2013, 10:44 AM »
So, I'm committing this in my Nth batch of minor stuff.
I still haven't made a decision for non-touch devices, though. Should we enable smart splits by default, and disable them with Shift/Ctrl+Enter (and reflect that in the shortcuts), or leave it as it is right now..?
I still haven't made a decision for non-touch devices, though. Should we enable smart splits by default, and disable them with Shift/Ctrl+Enter (and reflect that in the shortcuts), or leave it as it is right now..?
3344
Features / Re: New revs
« on March 27th, 2013, 10:28 AM »
rev 2028 -- a selection of smaller fixes. Just because they're small doesn't mean they should be ignored. Especially the eye.
(5 files -1, 3kb)
! The language links were silly. They thought a language couldn't have dashes in it. English-uk just proved them wrong. They apologize for any inconvenience, as well as infinite ;language=...;language=... links. It was fun while it lasted. (index.template.php)
* Quotenazi. Will do more of these soon enough... (index.template.php)
* Spacinazi. Harmonized code to Wedge standards: we do "$ref =& $var", not "$ref = &$var", even though it's technically the same. Semantically, "=&" means to me "assign by reference", so it's more readable that way. Hence the standard. (Profile-Actions.php, Subs-Plugins.php)
* Typonazi. Or Commenazi. Whatever you like best. (Class-Notification.php)
* Optimized hidden.png file for size (saves nearly 200 bytes). I'm still not a big fan of this icon... I'm sure it's under my bed it's hiding. It watches me at night. With a grin. On its mouthless face. #MommyImScaredIDontWannaSleepAlone (hidden.png)
- Removed spell.png file... As far as I know, it's not in use anymore. Life is good. (Except when the hidden.png eye is watching, of course.) (spell.png)
(5 files -1, 3kb)
! The language links were silly. They thought a language couldn't have dashes in it. English-uk just proved them wrong. They apologize for any inconvenience, as well as infinite ;language=...;language=... links. It was fun while it lasted. (index.template.php)
* Quotenazi. Will do more of these soon enough... (index.template.php)
* Spacinazi. Harmonized code to Wedge standards: we do "$ref =& $var", not "$ref = &$var", even though it's technically the same. Semantically, "=&" means to me "assign by reference", so it's more readable that way. Hence the standard. (Profile-Actions.php, Subs-Plugins.php)
* Typonazi. Or Commenazi. Whatever you like best. (Class-Notification.php)
* Optimized hidden.png file for size (saves nearly 200 bytes). I'm still not a big fan of this icon... I'm sure it's under my bed it's hiding. It watches me at night. With a grin. On its mouthless face. #MommyImScaredIDontWannaSleepAlone (hidden.png)
- Removed spell.png file... As far as I know, it's not in use anymore. Life is good. (Except when the hidden.png eye is watching, of course.) (spell.png)
3345
Features / Re: New revs
« on March 27th, 2013, 10:22 AM »
rev 2027 -- nearly 1000 revisions after I personally introduced that huge bug...
(7 files, 2kb)
! Fixed 'new posts' warning not triggering when replying from the full Post page. This annoying bug really annoyed/bugged the hell out of me for months, until I realized yesterday it was all my fault, so: sorry guys, I'm bad. I forgot to rename a few 'last_msg' occurrences to 'last'. (Display.php, Post.php, SSI.php, MessageIndex.template.php, Post.template.php, Xml.template.php, post.js)
(7 files, 2kb)
! Fixed 'new posts' warning not triggering when replying from the full Post page. This annoying bug really annoyed/bugged the hell out of me for months, until I realized yesterday it was all my fault, so: sorry guys, I'm bad. I forgot to rename a few 'last_msg' occurrences to 'last'. (Display.php, Post.php, SSI.php, MessageIndex.template.php, Post.template.php, Xml.template.php, post.js)