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.
3226
Features / Re: New revs
« on April 11th, 2013, 02:52 PM »
rev 2050 -- about a couple of weeks' worth of work... Good luck going through it!
(17 files -1, 27kb)
@ Is that a huge commit or what..?!
* Fine-tuned tons more things in the notification system. (Seriously, pretty much all files in this commit. Also, index.css, index.template.php, and moved notifications.js to script.js; script size was increased significantly but adds several goodies, such as checking tab visibility to determine the polling delay.)
* Renamed returnAjax to return_raw (simple text strings), return_xml (XML structure) and return_json (arrays or pure JS objects), to allow for variable parameter length; thus, you can now do return_raw('Hello, ', 'World!') if you want. It's also, well, easier to convert existing echo's. (Ajax.php, JSEditor.php, JSModify.php, Aeva-Gallery.php, Notifications.php, QuoteFast.php, Subs.php, Suggest.php)
* Started getting rid of XML templates, and using proper return_xml calls instead. The idea is that if you modify anything in a XML template, you change the software behavior, rather than its appearance, so it shouldn't be outputted by the 'view' part of the MVC model. (JSEditor.php, JSModify.php, QuoteFast.php, Suggest.php, Xml.template.php)
+ Added getIcon and getUnread methods to notifications. These are generic functions to return what's most likely to be the issuer's avatar, and a notification's unread status. (Class-Notification.php, Notifications.php)
* Notifications will now return unread notifications only in the popup. I've added a placeholder for showing all notifications within the popup, but.. It's only a placeholder, all right? Can you see how many things I'm playing with at the same time? I'll implement this when I have more time... (Notifications.php, Notifications.language.php)
! Yes, display: table is needed in prev/next links, contrary to what I suspected. Otherwise the div may never expand completely horizontally, if the cells are too short. (sections.css)
! Wrong argument order in rewritten JavaScriptEscape would break inline JS code. I'm surprised no one reported that to me yet... (Subs.php)
! There is no 'access_denied' error language string. The proper string is 'no_access'. (Notifications.php)
(17 files -1, 27kb)
@ Is that a huge commit or what..?!
* Fine-tuned tons more things in the notification system. (Seriously, pretty much all files in this commit. Also, index.css, index.template.php, and moved notifications.js to script.js; script size was increased significantly but adds several goodies, such as checking tab visibility to determine the polling delay.)
* Renamed returnAjax to return_raw (simple text strings), return_xml (XML structure) and return_json (arrays or pure JS objects), to allow for variable parameter length; thus, you can now do return_raw('Hello, ', 'World!') if you want. It's also, well, easier to convert existing echo's. (Ajax.php, JSEditor.php, JSModify.php, Aeva-Gallery.php, Notifications.php, QuoteFast.php, Subs.php, Suggest.php)
* Started getting rid of XML templates, and using proper return_xml calls instead. The idea is that if you modify anything in a XML template, you change the software behavior, rather than its appearance, so it shouldn't be outputted by the 'view' part of the MVC model. (JSEditor.php, JSModify.php, QuoteFast.php, Suggest.php, Xml.template.php)
+ Added getIcon and getUnread methods to notifications. These are generic functions to return what's most likely to be the issuer's avatar, and a notification's unread status. (Class-Notification.php, Notifications.php)
* Notifications will now return unread notifications only in the popup. I've added a placeholder for showing all notifications within the popup, but.. It's only a placeholder, all right? Can you see how many things I'm playing with at the same time? I'll implement this when I have more time... (Notifications.php, Notifications.language.php)
! Yes, display: table is needed in prev/next links, contrary to what I suspected. Otherwise the div may never expand completely horizontally, if the cells are too short. (sections.css)
! Wrong argument order in rewritten JavaScriptEscape would break inline JS code. I'm surprised no one reported that to me yet... (Subs.php)
! There is no 'access_denied' error language string. The proper string is 'no_access'. (Notifications.php)
3227
Features / Re: Things I'm currently working on... (And not making progress on.)
« on April 11th, 2013, 02:26 PM »
So, some news from me...
I was nearly done with the notification system, until, for some reason I ignore, I decided the animation for the popup sucked, and same for the search box, so I started rewriting it... And had issues with the popup arrow. So I looked into that next, and decided to rewrite it in CSS... It also allowed me to change the color of the dropdown arrow in the menus, which is a good thing. But then I realized a tiny mistake in the new CSS that was making the dropdowns harder to navigate. So... Again, I ended up rewriting these. Currently, I'm in the middle of that rewrite, and it doesn't work well, and it's upsetting. My goal is to keep the CSS size below what I had with the arrow image, I still have room for 30 bytes so that's all right, but I'm also worried that my rewrite will break oldIE and other browsers.
Funny hey...?
I should have committed much earlier. If anything -- yesterday. What's happening now is that I'm having trouble making sense of it all.
I'll try to commit all without my Arrow changes. Might help clear things up for me...Quote from Arantor on April 9th, 2013, 04:11 PM Yeah, vB3 is an example of what NOT to attempt...
Maybe tabs are too much, alright. But so are multiple profile pages..?
At the very least, I insist we have at least a couple of the latest posts from the member.
(Plus, ability for members to set up what others can see about them.)Quote from Arantor on April 9th, 2013, 04:11 PM Then, anything else..?Quote from Arantor on April 9th, 2013, 04:11 PM Yes, I never even mentioned the lang attribute, only the hreflang one... What made you think I was talking about the html tag's..?
The only reason I want hreflang to be as specific as possible, is for Google to be better at serving the proper content depending on the user's geographical position. (Well, if it works... Because I have yet to see a Google link with language=... in it. Probably requires moving the language part to a subdomain, or something... Which I'm not too fond of.)Quote from Arantor on April 9th, 2013, 04:11 PM For the record -- every time I re-enabled debug info, it got disabled after a while. It happened twice to me already this week... But, it never happened to me on wedge.org -- only on my local install! Any clues..?Quote from Arantor on April 9th, 2013, 04:11 PM Something wrong must have happened at some point. But since the other day, my plugins have yet to be disabled again, so I guess it's alright now. (I did a database dump to check on my variables, and they were all alright -- so it SHOULD not have disabled them in the first place...)
I was nearly done with the notification system, until, for some reason I ignore, I decided the animation for the popup sucked, and same for the search box, so I started rewriting it... And had issues with the popup arrow. So I looked into that next, and decided to rewrite it in CSS... It also allowed me to change the color of the dropdown arrow in the menus, which is a good thing. But then I realized a tiny mistake in the new CSS that was making the dropdowns harder to navigate. So... Again, I ended up rewriting these. Currently, I'm in the middle of that rewrite, and it doesn't work well, and it's upsetting. My goal is to keep the CSS size below what I had with the arrow image, I still have room for 30 bytes so that's all right, but I'm also worried that my rewrite will break oldIE and other browsers.
Funny hey...?
I should have committed much earlier. If anything -- yesterday. What's happening now is that I'm having trouble making sense of it all.
I'll try to commit all without my Arrow changes. Might help clear things up for me...
I had a look at that last night while trying to figure out what to do with the profile area, and I actually find it a bit confusing to navigate - there's just so much there to look at. (Mind you, it's still nowhere near as bad as vB 3's profile area which is even more complicated)
Maybe tabs are too much, alright. But so are multiple profile pages..?
At the very least, I insist we have at least a couple of the latest posts from the member.
(Plus, ability for members to set up what others can see about them.)
Seems to me to add more complexity than is actually necessary :/Quote I'd suggest going for a route that tests whether two languages have the same two-letter code
We're talking about two different things. You're talking about the rel="alternate" language indicator, I'm talking about the one on the <html> element itself. rel="alternate" can just use the locale setting with _ replaced with -, while the <html> element one has to conform to the proper language code.
The only reason I want hreflang to be as specific as possible, is for Google to be better at serving the proper content depending on the user's geographical position. (Well, if it works... Because I have yet to see a Google link with language=... in it. Probably requires moving the language part to a subdomain, or something... Which I'm not too fond of.)
That's something else then. It has never randomly disabled itself for me, not once. Nor have plugins, actually.
The rule for disabling a plugin is straightforward; on startup, it looks at the list of plugins that are currently enabled, and verifies that the folder exists and that folder/plugin-info.xml exists. If either of these fail for any reason, the plugin will be disabled. But these are the only circumstances that should be causing automatic dropout of plugins.
3228
Features / Re: Mail entities and stuff.
« on April 10th, 2013, 03:08 PM »Problem: stuff can be passed through sendmail TWICE. You'd have to ensure it's only passed to the rewrite function the first time. (Look in the source for mentions of the 'hotmail_fix', since that's the trigger to send it through again)
As far as special handling goes, you're right. You're absolutely right. Consider: if a post contains these things, it's still going to get sent so why should it matter if $txt contains them too?
3229
Features / Mail entities and stuff.
« on April 10th, 2013, 11:17 AM »
I'm stupid.
I have stupid ideas.
But sometimes, even though they're stupid simple, they're just like, "uh? why didn't I think of that before..?!"
In this case, I just received a notification e-mail (after subscribing to the stuff), and noticed that it had <URL> in it. Woops... Okay, I should be careful about sending notification data by e-mail, replacing <URL> manually instead of through the output buffer handler, because it's never called on these...
And then it struck me.
What prevents us from adding this at the beginning of the sendmail() function..? Uh?
Code: [Select]
Duh.
Then it just... gets converted like a normal web page would. We could even automatically convert things to entities on the fly, too. Every time a mail is sent, it's passed through sendmail(). Then why bother doing 'special e-mail handling' inside $txt in this situation...?
There's probably a reason... But I can't find any. I told you -- I'm stupid.
I have stupid ideas.
But sometimes, even though they're stupid simple, they're just like, "uh? why didn't I think of that before..?!"
In this case, I just received a notification e-mail (after subscribing to the stuff), and noticed that it had <URL> in it. Woops... Okay, I should be careful about sending notification data by e-mail, replacing <URL> manually instead of through the output buffer handler, because it's never called on these...
And then it struck me.
What prevents us from adding this at the beginning of the sendmail() function..? Uh?
$message = ob_sessrewrite($message);Duh.
Then it just... gets converted like a normal web page would. We could even automatically convert things to entities on the fly, too. Every time a mail is sent, it's passed through sendmail(). Then why bother doing 'special e-mail handling' inside $txt in this situation...?
There's probably a reason... But I can't find any. I told you -- I'm stupid.
3230
Off-topic / Re: Doctor Who
« on April 9th, 2013, 11:54 PM »
What was her response, already..?
And I thought they'd retconned his grand-daughter thing into something else, since in some earlier Tennant season he claimed he didn't have any family..? Maybe in 'The Doctor's daughter'..?
:edit: Interesting... For the second time today, a quick-edit didn't have any influence on the unread status for me. Does this mean it only happens in some topics/boards/specific situations..?
And I thought they'd retconned his grand-daughter thing into something else, since in some earlier Tennant season he claimed he didn't have any family..? Maybe in 'The Doctor's daughter'..?
:edit: Interesting... For the second time today, a quick-edit didn't have any influence on the unread status for me. Does this mean it only happens in some topics/boards/specific situations..?
3231
Features / Re: New revs
« on April 9th, 2013, 07:33 PM »
rev 2049
(3 files, 3kb)
* Completely rewrote JavaScriptEscape. I'm like that. Now it's using str_replace instead of strtr, which is about 20% faster with many iterations. I've tested against the four possible quote/double-quote permutations (inside and outside the string), and figured out a cleaner way to escape quotes. This one really, really should be working... (Subs.php)
! Wedge could return errors when quick-editing a topic subject, but would never show said errors... This one's ugly, but what matters is the message... Right? (topic.js)
* I've always hated that a function was named Suggest_Search_Member. Renamed it all to lowercase. Also got rid of that silly type test that's been there for years... There's only one type of thing you can search for: members. Deal with it. When we add support for more, guess what? We'll refactor the code to account for that... (Suggest.php)
(3 files, 3kb)
* Completely rewrote JavaScriptEscape. I'm like that. Now it's using str_replace instead of strtr, which is about 20% faster with many iterations. I've tested against the four possible quote/double-quote permutations (inside and outside the string), and figured out a cleaner way to escape quotes. This one really, really should be working... (Subs.php)
! Wedge could return errors when quick-editing a topic subject, but would never show said errors... This one's ugly, but what matters is the message... Right? (topic.js)
* I've always hated that a function was named Suggest_Search_Member. Renamed it all to lowercase. Also got rid of that silly type test that's been there for years... There's only one type of thing you can search for: members. Deal with it. When we add support for more, guess what? We'll refactor the code to account for that... (Suggest.php)
3232
Features / Re: New revs
« on April 9th, 2013, 05:28 PM »
rev 2048
(6 files, 3kb)
* Replaced the double quote hack in JavaScriptEscape with another kind of hack that doesn't require going through all of the calls in the file... It's been tested for a few weeks on my sites, but at commit time, I'm not sure it's that solid. So I'm splitting it from all my other changes, and committing it separately for easier fixes, if needed. (Subs-Cache.php, Subs-Template.php, Subs.php, index.template.php, ManagePermissions.template.php)
* Spacinazi. (Feed.php)
(6 files, 3kb)
* Replaced the double quote hack in JavaScriptEscape with another kind of hack that doesn't require going through all of the calls in the file... It's been tested for a few weeks on my sites, but at commit time, I'm not sure it's that solid. So I'm splitting it from all my other changes, and committing it separately for easier fixes, if needed. (Subs-Cache.php, Subs-Template.php, Subs.php, index.template.php, ManagePermissions.template.php)
* Spacinazi. (Feed.php)
3233
Plugins / [Plugin] Re: Notifications system (1.0)
« on April 9th, 2013, 04:28 PM »
You don't have to use permissions for that...
I'd say there are things that should be left to the user's discretion, rather than the admin's.
For instance, what if I don't want users to access my profile? Or I'm okay with that, but not with reading my latest posts? Or my galleries? Or my posting statistics..?
Members have a data field, it's not for nothing. :)
Things that can be stored in data fields:
- member data: whatever notifications I want to ignore; whatever profile areas I want to hide from whatever membergroup(s) or member ID(s). Plenty of other things, I'm sure...
- topic data: set a 'fallback' topic for a particular topic; if it's locked, Quote and Reply buttons will still show up, but will be redirect to said fallback topic. Set membergroups or member ID(s) that can keep quoting, or posting. e.g. in here, 'New Revs' would be a perfect candidate for that. Set all users to be redirected to 'New Revs Public Comments', set Arantor and Nao to keep the Reply (or Quick Reply) button (but not their Quote buttons). This allows users to actually quote a post without having to manually copy and paste it...! (I think there was a discussion regarding this at Elk, recently. I was surprised we had a similar idea, but apparently our implementations would be different.)
Of course, all that matters here, is making a suitable UI for these... And I'm not exactly the greatest at UIs, I'm afraid, so it's not even in my to-do list I think...!
I'd say there are things that should be left to the user's discretion, rather than the admin's.
For instance, what if I don't want users to access my profile? Or I'm okay with that, but not with reading my latest posts? Or my galleries? Or my posting statistics..?
Members have a data field, it's not for nothing. :)
Things that can be stored in data fields:
- member data: whatever notifications I want to ignore; whatever profile areas I want to hide from whatever membergroup(s) or member ID(s). Plenty of other things, I'm sure...
- topic data: set a 'fallback' topic for a particular topic; if it's locked, Quote and Reply buttons will still show up, but will be redirect to said fallback topic. Set membergroups or member ID(s) that can keep quoting, or posting. e.g. in here, 'New Revs' would be a perfect candidate for that. Set all users to be redirected to 'New Revs Public Comments', set Arantor and Nao to keep the Reply (or Quick Reply) button (but not their Quote buttons). This allows users to actually quote a post without having to manually copy and paste it...! (I think there was a discussion regarding this at Elk, recently. I was surprised we had a similar idea, but apparently our implementations would be different.)
Of course, all that matters here, is making a suitable UI for these... And I'm not exactly the greatest at UIs, I'm afraid, so it's not even in my to-do list I think...!
3234
Plugins / [Plugin] Re: Notifications system (1.0)
« on April 9th, 2013, 04:12 PM »
It's interesting that I didn't remember that area, even though I translated it all to French... ;)
Maybe it should be made more prominent. Right now, it sits where IIRC there was already a 'Notifications' area, but it's different now... Anyway.
Maybe it should be made more prominent. Right now, it sits where IIRC there was already a 'Notifications' area, but it's different now... Anyway.
3235
Plugins / [Plugin] Re: Notifications system (1.0)
« on April 9th, 2013, 12:03 PM »
- Dynamic favicons: I don't like the demo I saw for Tinycon... I don't know. One of the things is that when you have plenty of tabs opened, once a notification is there, all of your favicons are going to be updated...
Ah... If only we could send a message across all tabs, stopping timers, things like that...!
Hmm... Thinking about it... That might be a good opportunity to start using local storage...?!
For instance, on each server request, I could store the latest request time & response. And maybe a random ID that stays the same for the duration of the page. Then every tab checks the same local storage... Before doing a server request, they can check for the content stored in that. If the last time isn't expired, then take that data and cancel the server request. This would allow tabs to do their requests more frequently, e.g. less than a minute, rather than 10 minutes for now (for inactive tabs).
If one tab is active, show the notification in its title, hide it from others. If no tab is active, show notification in all tabs, so as to REALLY draw your attention, maybe..?
There's so much that could be done with notifications, really...
Very strange that I'm spending so much time on a feature I didn't write, didn't think of, and didn't even really want in the first place... :^^;:
- Never tested periodical notifications. Never received any e-mails.
- If it's not zero, then you have unread notifications... Don't you..? Wedge.org should have the ability to mark them as read, AFAIK..?
- PM notifications should become normal notifications, I agree, *but* they should have high priority, and that's one of the things that bother me... If you receive tons of notifications for 'likes', you'll tend to ignore ALL notifications. Eventually, we'll need to add more user settings, such as 'ignore notifications by type', 'ignore notifications by user', etc...
- I'm also thinking of giving the user a strong visual hint when a new notification shows up when they're using the page. For instance, automatically open the popup...? And show it as position:fixed to ensure it shows up whatever the position in the page. Or just have a small, unrelated popup in the top left corner, saying "You've got a new message!", and then closing itself after a few seconds or on click...?
Ah... If only we could send a message across all tabs, stopping timers, things like that...!
Hmm... Thinking about it... That might be a good opportunity to start using local storage...?!
For instance, on each server request, I could store the latest request time & response. And maybe a random ID that stays the same for the duration of the page. Then every tab checks the same local storage... Before doing a server request, they can check for the content stored in that. If the last time isn't expired, then take that data and cancel the server request. This would allow tabs to do their requests more frequently, e.g. less than a minute, rather than 10 minutes for now (for inactive tabs).
If one tab is active, show the notification in its title, hide it from others. If no tab is active, show notification in all tabs, so as to REALLY draw your attention, maybe..?
There's so much that could be done with notifications, really...
Very strange that I'm spending so much time on a feature I didn't write, didn't think of, and didn't even really want in the first place... :^^;:
- Never tested periodical notifications. Never received any e-mails.
- If it's not zero, then you have unread notifications... Don't you..? Wedge.org should have the ability to mark them as read, AFAIK..?
- PM notifications should become normal notifications, I agree, *but* they should have high priority, and that's one of the things that bother me... If you receive tons of notifications for 'likes', you'll tend to ignore ALL notifications. Eventually, we'll need to add more user settings, such as 'ignore notifications by type', 'ignore notifications by user', etc...
- I'm also thinking of giving the user a strong visual hint when a new notification shows up when they're using the page. For instance, automatically open the popup...? And show it as position:fixed to ensure it shows up whatever the position in the page. Or just have a small, unrelated popup in the top left corner, saying "You've got a new message!", and then closing itself after a few seconds or on click...?
3236
Features / Re: Things I'm currently working on... (And not making progress on.)
« on April 9th, 2013, 10:12 AM »
Re: profile area, all I'd like to say is that my plans for it are to make it close to the noisen.com profile style, i.e. have more info on the main page, and/or split stuff into immediately-loaded tabs, and more importantly, have a preview of the last couple of posts they sent. Perhaps we can do without profile comments at this point (1.0), though...
Also:
- I'm giving up on inline Wysiwyg for now. Not that it's not doable -- everything worked, except for focusing, i.e. clicking on smileys would send them to the beginning of the post. I had a few sample scripts under the hand that purported to make focusing work, but I had a look at my compared filesizes for iframe and non-iframe versions, and figured it wasn't worth the trouble... non-iframe version = 8120 bytes, iframe version = 8304 bytes. For CSS, the iframe version is only 4% bigger (and also more complex, but much less complex than the SMF version anyway.)
I think it's safe to say that it definitely isn't worth spending a week on that, and I prefer to cut my losses at an afternoon's worth of work (weeks ago.) I'm keeping a copy of my other version aside, 'just in case', but don't expect anything from me in the near future.
- Crap, I still have that minor bug where, when I use smart quote splitting, an extra blank line is inserted after the automatically-added quote opener... I see no reason for that. It's annoying! Perhaps a Chrome bug, I dunno..?
- Plugins being disabled: this morning, they came out as disabled again... All of them. It's starting to annoy me! I went to phpMyAdmin, did a full export of my database, and searched for 'pristine' (the name of my test sub-folder), and it was nowhere to be seen. It's not in Settings.php either... Honestly, I don't know the plugin code well enough to debug it, at least for now. Do you have any idea where this could be coming from, then...? I don't remember having a single problem in the past, before my pristine temp changes.
- In a similar fashion, the debug option in the admin area, the one that shows debug info at the bottom of the page, regularly disables itself in my local install. I've never, ever disabled it manually. But I just had a look, and no surprise, it's disabled. I remember re-enabling it two weeks ago... Always enabling db_show_debug, not touching the other options (e.g. 'Admin only')...Quote from Arantor on April 8th, 2013, 07:01 PM http://support.google.com/webmasters/bin/answer.py?hl=en&answer=189077
They say the region is optional.
I looked into the w3 standards page, and it got complicated... They only give two-letter examples, but the format specifies a Language-Code, which in turn links to a page that explains it can either be a two-letter code, or anything that's acceptable, such as 'en-GB', or even 'x-klingon'... (Ah, geeks...)
So, I guess Google is right in that respect. They don't expect you to use more than a two-letter language code. They just offer you, well, the ability to specify your regional codes in case there are differences. So, ideally... I guess we should have 'en' for English US, 'en-GB' for English UK, and 'fr' for France.
I'd suggest going for a route that tests whether two languages have the same two-letter code, and if they do, use $txt['lang_locale'] instead of $txt['lang_dictionary'], except for 'English US', which gets 'en' either way (so that we have a fallback.) It takes some processing, though... And I'd like to have a fallback for each repeated language, but how do we determine the fallback, apart from adding yet another $txt entry such as $['lang_fallback'] = 1..?
Well, if we had to add a new entry, might as well do $txt['lang_href'] = 'en-GB' or something... That way we can fine-tune it.
NB: is it me, or does lang_paypal always match the region code...? I suppose you looked it up first, right..?Quote from Arantor on April 8th, 2013, 07:01 PM Yes (see above.)Quote from Arantor on April 8th, 2013, 07:01 PM Just had a look at your Facebook update on this.Quote from Arantor on April 8th, 2013, 07:01 PM Yes, sorry for the mix-up.
I'm not 100% sure about return_raw, my original was saying 'return_text', but as in one case I'm return a number, I thought it'd make more sense. People might think it's for returning binary, which is my main concern. Ideally, I'd also add a return_bin() function, but whatever... :lol:
Also:
- I'm giving up on inline Wysiwyg for now. Not that it's not doable -- everything worked, except for focusing, i.e. clicking on smileys would send them to the beginning of the post. I had a few sample scripts under the hand that purported to make focusing work, but I had a look at my compared filesizes for iframe and non-iframe versions, and figured it wasn't worth the trouble... non-iframe version = 8120 bytes, iframe version = 8304 bytes. For CSS, the iframe version is only 4% bigger (and also more complex, but much less complex than the SMF version anyway.)
I think it's safe to say that it definitely isn't worth spending a week on that, and I prefer to cut my losses at an afternoon's worth of work (weeks ago.) I'm keeping a copy of my other version aside, 'just in case', but don't expect anything from me in the near future.
- Crap, I still have that minor bug where, when I use smart quote splitting, an extra blank line is inserted after the automatically-added quote opener... I see no reason for that. It's annoying! Perhaps a Chrome bug, I dunno..?
- Plugins being disabled: this morning, they came out as disabled again... All of them. It's starting to annoy me! I went to phpMyAdmin, did a full export of my database, and searched for 'pristine' (the name of my test sub-folder), and it was nowhere to be seen. It's not in Settings.php either... Honestly, I don't know the plugin code well enough to debug it, at least for now. Do you have any idea where this could be coming from, then...? I don't remember having a single problem in the past, before my pristine temp changes.
- In a similar fashion, the debug option in the admin area, the one that shows debug info at the bottom of the page, regularly disables itself in my local install. I've never, ever disabled it manually. But I just had a look, and no surprise, it's disabled. I remember re-enabling it two weeks ago... Always enabling db_show_debug, not touching the other options (e.g. 'Admin only')...
No, you shouldn't. hreflang as far as I can tell is actually supposed to use ISO-630-1 codes, for which en-GB is not valid. In fact, it's two characters only as I documented elsewhere.
They say the region is optional.
I looked into the w3 standards page, and it got complicated... They only give two-letter examples, but the format specifies a Language-Code, which in turn links to a page that explains it can either be a two-letter code, or anything that's acceptable, such as 'en-GB', or even 'x-klingon'... (Ah, geeks...)
So, I guess Google is right in that respect. They don't expect you to use more than a two-letter language code. They just offer you, well, the ability to specify your regional codes in case there are differences. So, ideally... I guess we should have 'en' for English US, 'en-GB' for English UK, and 'fr' for France.
I'd suggest going for a route that tests whether two languages have the same two-letter code, and if they do, use $txt['lang_locale'] instead of $txt['lang_dictionary'], except for 'English US', which gets 'en' either way (so that we have a fallback.) It takes some processing, though... And I'd like to have a fallback for each repeated language, but how do we determine the fallback, apart from adding yet another $txt entry such as $['lang_fallback'] = 1..?
Well, if we had to add a new entry, might as well do $txt['lang_href'] = 'en-GB' or something... That way we can fine-tune it.
NB: is it me, or does lang_paypal always match the region code...? I suppose you looked it up first, right..?
You did update *all* the paths?
The old warning system will no longer exist. Everything will be infractions going forward. I already removed the old configuration area, I'm just finishing up the admin page before I move onto the last thing - which is the actual 'issue infraction' screen.
So you went under_score rather than camelCase? Cool beans. Makes sense.Quote Oh, regarding that... I've split it into three different functions, return_raw, return_xml and return_json, which do exactly what they say. It adds about 120 bytes to the source file, but it also has the benefit of variable parameters, so... It's all good I'm guessing. I chose camel_case because, well, redirectexit doesn't say redirectExit, does it..? :^^;: And that's a bit similar to it, I'd say...
I'm not 100% sure about return_raw, my original was saying 'return_text', but as in one case I'm return a number, I thought it'd make more sense. People might think it's for returning binary, which is my main concern. Ideally, I'd also add a return_bin() function, but whatever... :lol:
3237
Off-topic / Re: Some advice when using jquery.ajax()
« on April 8th, 2013, 11:06 PM »
The post above refuses to get 'read'... I can refresh the page all I want, it always says 'New' in this topic, and on the homepage...
VERY, very strange.
Note that I quick-edited it once.
:edit: Once my reply was posted, it fixed itself. Also, my new reply wasn't marked as 'New' in this topic. I guess it really only happens when quick-editing...
:edit: This quick-edit persisted the 'New' state for two refreshes. After the third one, it was back to normal. Still, the previous post -- after 4 or 5 refreshes it was still retaining its unread flag...
:edit: Second quick-edit worked as expected, i.e. no 'Unread' flag anywhere, including in the homepage... Oh, my! That's very interesting...
VERY, very strange.
Note that I quick-edited it once.
:edit: Once my reply was posted, it fixed itself. Also, my new reply wasn't marked as 'New' in this topic. I guess it really only happens when quick-editing...
:edit: This quick-edit persisted the 'New' state for two refreshes. After the third one, it was back to normal. Still, the previous post -- after 4 or 5 refreshes it was still retaining its unread flag...
:edit: Second quick-edit worked as expected, i.e. no 'Unread' flag anywhere, including in the homepage... Oh, my! That's very interesting...
3238
Off-topic / Re: Some advice when using jquery.ajax()
« on April 8th, 2013, 11:04 PM »I already said thanks, I understood your reasons and said thanks, I honestly don't know what else do you want from me or why do you think I wasn't been grateful... It does bother me the fact that I always said thanks for the help received here and yet you post a month later saying I wasn't...
There's nothing else to be found in my post...
As for me "retiring" I've been login here fairly often and I've been reading most if not all the post and topics since then,
Oh, crap, I'm falling into my own trap, and I'll just repeat myself over and over. Let's not waste on this, all right? I'd rather work on Wedge than have to explain myself... :-/
3239
Features / Re: Miscellaneous/WIP screenshots
« on April 8th, 2013, 10:59 PM »
Pete, do you mean you've modified the template header..? Because I've been modifying it a lot, too... Well, not visually, but internally... Anyway... I think it's looking good, right now..? I can understand hiding the full set of flags by default if we have many, 3 may be a tad too many, but what to replace it with..? A flag of the current language, plus an arrow to indicate a popup can be shown...?
(I also need to do something to unify the popups that are everywhere, i.e. mini-menus, main menus, search popup and notification popup... Would be nice if they all more or less followed a common pattern...)
Also, what size of the language file for your new feature..? I fear the worst :lol:
Regarding R&D, I don't really have an opinion right now. I don't need the money, but I think that nearly three years of uninterrupted, full-time work on a free project is bordering on madness, and I guess I can't continue like that forever. Emphasis on 'full-time' and 'forever'... These are usually not compatible.
So, being paid to do this, would be a great excuse to keep working on something I've always loved doing. (Well, always loved doing the front-end stuff -- the back-end a bit less, but then Pete loves working on it, which is why we are perfectly complementary here ;))
Anyway... It's the usual conversation. As I don't know what exactly is Pete's position on whether or not he sees himself working on Wedge in a few years from now, and I myself can't predict the future that easily (what if I suddenly have a kid..?), it's relatively pointless to make statements about the future of Wedge. Its only future, is that it's going to be out for the public to enjoy, one day. When we feel confident everything's perfect.
(I also need to do something to unify the popups that are everywhere, i.e. mini-menus, main menus, search popup and notification popup... Would be nice if they all more or less followed a common pattern...)
Also, what size of the language file for your new feature..? I fear the worst :lol:
Regarding R&D, I don't really have an opinion right now. I don't need the money, but I think that nearly three years of uninterrupted, full-time work on a free project is bordering on madness, and I guess I can't continue like that forever. Emphasis on 'full-time' and 'forever'... These are usually not compatible.
So, being paid to do this, would be a great excuse to keep working on something I've always loved doing. (Well, always loved doing the front-end stuff -- the back-end a bit less, but then Pete loves working on it, which is why we are perfectly complementary here ;))
Anyway... It's the usual conversation. As I don't know what exactly is Pete's position on whether or not he sees himself working on Wedge in a few years from now, and I myself can't predict the future that easily (what if I suddenly have a kid..?), it's relatively pointless to make statements about the future of Wedge. Its only future, is that it's going to be out for the public to enjoy, one day. When we feel confident everything's perfect.
3240
Off-topic / Re: Some advice when using jquery.ajax()
« on April 8th, 2013, 06:52 PM »
(And I didn't notice the original lock, apologies Pete.)