added the feature to clear the cache through the admin bar #41

Merged
merged 99 commits into from May 10, 2016

Conversation

2 participants
@pablocusto
Contributor

pablocusto commented May 2, 2016

I hope I have done correctly.

classes/autoptimizeConfig.php
@@ -194,7 +206,7 @@ public function show() {
<td><?php
$AOstatArr=autoptimizeCache::stats();
$AOcacheSize=round($AOstatArr[1]/1024);
- echo $AOstatArr[0].__(' files, totalling ','autoptimize').$AOcacheSize.__(' Kbytes (calculated at ','autoptimize').date("H:i e", $AOstatArr[2]).')';
+ echo $AOstatArr[0].' '.__(' files, totalling ','autoptimize').' '.$AOcacheSize.' '.__(' Kbytes (calculated at ','autoptimize').' '.date("H:i e", $AOstatArr[2]).')';

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

The spaces are there already, in the translatable strings, so this is not needed.

@futtta

futtta May 3, 2016

Owner

The spaces are there already, in the translatable strings, so this is not needed.

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Add this because I thought that when someone performs the translations, it could happen that sometimes those spaces are not easily detected and therefore could be omitted for the translator or considered as error. I suggested this change just to contemplate such situations since successive spaces in the HTML code are not considered when rendering the page and are only 4 bytes. :)

@pablocusto

pablocusto May 3, 2016

Contributor

Add this because I thought that when someone performs the translations, it could happen that sometimes those spaces are not easily detected and therefore could be omitted for the translator or considered as error. I suggested this change just to contemplate such situations since successive spaces in the HTML code are not considered when rendering the page and are only 4 bytes. :)

classes/autoptimizeConfig.php
@@ -8,10 +8,22 @@ class autoptimizeConfig {
//Singleton: private construct
private function __construct() {
if( is_admin() ) {
+
+ // Load custom admin styles
+ add_action( 'admin_enqueue_scripts', array( $this, 'load_custom_wp_admin_style' ) );

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

can't we do this in autoptimizeToolbar.php? that way we avoid styles being loaded if not needed?

@futtta

futtta May 3, 2016

Owner

can't we do this in autoptimizeToolbar.php? that way we avoid styles being loaded if not needed?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Yes of course, you're right, it is much better, thanks for the suggestion. Moving.. ;)

@pablocusto

pablocusto May 3, 2016

Contributor

Yes of course, you're right, it is much better, thanks for the suggestion. Moving.. ;)

classes/autoptimizeConfig.php
+ add_action( 'admin_enqueue_scripts', array( $this, 'load_custom_wp_admin_style' ) );
+
+ // Load custom admin javascript
+ add_action('admin_enqueue_scripts', array( $this, 'load_custom_wp_admin_javascript' ) );

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

same remark -> move to autoptimizeToolbar.php?

@futtta

futtta May 3, 2016

Owner

same remark -> move to autoptimizeToolbar.php?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Moving.. thanks.

@pablocusto

pablocusto May 3, 2016

Contributor

Moving.. thanks.

classes/autoptimizeConfig.php
//Add the admin page and settings
add_action('admin_menu',array($this,'addmenu'));
add_action('admin_init',array($this,'registersettings'));
+ // Load admin toolbar feature
+ if(file_exists(AUTOPTIMIZE_PLUGIN_DIR.'classes/autoptimizeToolbar.php')){

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

we should be able to safely assume autoptimizeToolbar.php is available. instead you could check for $show here?
if (current_user_can( 'manage_options' ) || current_user_can( 'edit_others_pages' ) ) ? true : false;)

@futtta

futtta May 3, 2016

Owner

we should be able to safely assume autoptimizeToolbar.php is available. instead you could check for $show here?
if (current_user_can( 'manage_options' ) || current_user_can( 'edit_others_pages' ) ) ? true : false;)

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Thank you very much, this is much better. Changing ...

@pablocusto

pablocusto May 3, 2016

Contributor

Thank you very much, this is much better. Changing ...

classes/autoptimizeConfig.php
+ $show = ( current_user_can( 'manage_options' ) || current_user_can( 'edit_others_pages' ) ) ? true : false;
+
+ // Author
+ if( defined( 'AUTOPTIMIZE_TOOLBAR_FOR_AUTHOR' ) && AUTOPTIMIZE_TOOLBAR_FOR_AUTHOR )

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

I'm not a fan of letting authors clear AO's cache (way to dangerous + authors should not be able to do anything that results in AO's cache needing purging anyway).

@futtta

futtta May 3, 2016

Owner

I'm not a fan of letting authors clear AO's cache (way to dangerous + authors should not be able to do anything that results in AO's cache needing purging anyway).

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Sorry, I was wrong.
I wanted to give the chance to the admin that can enable the editor to do this, not the author.
Because usually I suggest the owners of a site not using the administrator user to make changes in publications but with the editor, and when this happens, the changes are not reflected if they are not allowed to empty the cache.
What do you think about it?

@pablocusto

pablocusto May 3, 2016

Contributor

Sorry, I was wrong.
I wanted to give the chance to the admin that can enable the editor to do this, not the author.
Because usually I suggest the owners of a site not using the administrator user to make changes in publications but with the editor, and when this happens, the changes are not reflected if they are not allowed to empty the cache.
What do you think about it?

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

hmmmm ... what kind of changes did you have in mind?

@futtta

futtta May 3, 2016

Owner

hmmmm ... what kind of changes did you have in mind?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Sorry again, forget what I said, I had not noticed that with current_user_can ('edit pages others') is including the editor users. I have to pay more attention. :)

@pablocusto

pablocusto May 3, 2016

Contributor

Sorry again, forget what I said, I had not noticed that with current_user_can ('edit pages others') is including the editor users. I have to pay more attention. :)

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

still; what kind of changes done by an editor would warrant the autoptimize cache having to be purged? why not just
$show = ( current_user_can( 'manage_options' ));
?

@futtta

futtta May 3, 2016

Owner

still; what kind of changes done by an editor would warrant the autoptimize cache having to be purged? why not just
$show = ( current_user_can( 'manage_options' ));
?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

My apologies Frank, I'm an idiot, believed that the HTML optimization feature generate cache files. Yes, just 'manage_option' sorry. :/

@pablocusto

pablocusto May 3, 2016

Contributor

My apologies Frank, I'm an idiot, believed that the HTML optimization feature generate cache files. Yes, just 'manage_option' sorry. :/

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

no need to apologize!! :-)

@futtta

futtta May 3, 2016

Owner

no need to apologize!! :-)

classes/autoptimizeToolbar.php
+
+class autoptimizeToolbar {
+
+ public function __construct(){}

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

so enqueue your CSS/ JS from here?

@futtta

futtta May 3, 2016

Owner

so enqueue your CSS/ JS from here?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

Thanks. Changing...

@pablocusto

pablocusto May 3, 2016

Contributor

Thanks. Changing...

css/toolbar.css
@@ -0,0 +1,22 @@
+#autoptimize-loader-toolbar{
+ display: none;
+ background: rgba(255, 255, 255, .7) url('data:image/gif;base64,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') no-repeat center;

This comment has been minimized.

@futtta

futtta May 3, 2016

Owner

what's that huge base64 encoded image? any way to optimize it before base64-ing you think?

@futtta

futtta May 3, 2016

Owner

what's that huge base64 encoded image? any way to optimize it before base64-ing you think?

This comment has been minimized.

@pablocusto

pablocusto May 3, 2016

Contributor

:)
It is a loading anigif shown in the center of the page when clearing the cache runs from the admin bar and disappears when the process is complete.
But I'll make is loaded externally from a .gif file to modify it easily until you set which is the most appropriate.

@pablocusto

pablocusto May 3, 2016

Contributor

:)
It is a loading anigif shown in the center of the page when clearing the cache runs from the admin bar and disappears when the process is complete.
But I'll make is loaded externally from a .gif file to modify it easily until you set which is the most appropriate.

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 3, 2016

Owner

added some comments inline, but these are general remarks:

  1. i like the idea, we should do this!
  2. i'd prefer not to allow for authors
  3. i'd like (almost) all php-code changes to go in autoptimizeToolbar.php, which should get included from autoptimizeConfig.php if user has admin rights
  4. move the js & css-files to a new /static/ folder instead of a seperate css and js folder in /classes/?
  5. translations don't have to be included (even POT file is optional), as the goal is to do all i18n on wordpress.org' glotpress.

frank

Owner

futtta commented May 3, 2016

added some comments inline, but these are general remarks:

  1. i like the idea, we should do this!
  2. i'd prefer not to allow for authors
  3. i'd like (almost) all php-code changes to go in autoptimizeToolbar.php, which should get included from autoptimizeConfig.php if user has admin rights
  4. move the js & css-files to a new /static/ folder instead of a seperate css and js folder in /classes/?
  5. translations don't have to be included (even POT file is optional), as the goal is to do all i18n on wordpress.org' glotpress.

frank

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 3, 2016

Contributor

Thank you very much for the improvements Frank.
I begin to make these changes.
Then I delete all translations and leave only the .pot?

By the way, do you agree if we change the name of the folder /localization by /languages to match how wordpress defined (like: /wp-content /languages)

Thanks!
Pablo

Contributor

pablocusto commented May 3, 2016

Thank you very much for the improvements Frank.
I begin to make these changes.
Then I delete all translations and leave only the .pot?

By the way, do you agree if we change the name of the folder /localization by /languages to match how wordpress defined (like: /wp-content /languages)

Thanks!
Pablo

classes/autoptimizeConfig.php
@@ -269,7 +311,13 @@ public function show() {
jQuery(document).ready(function() {
check_ini_state();
- jQuery('.autoptimize_banner').unslider({autoplay:true, delay:5000});
+ jQuery('.autoptimize_banner').unslider({autoplay:true, delay:5000, infinite: true, arrows:{prev:'<a class="unslider-arrow prev"></a>', next:'<a class="unslider-arrow next"></a>'}}).fadeTo("slow",1).show();

This comment has been minimized.

@futtta

futtta May 9, 2016

Owner

move to seperate pull-request, after toolbar stuff

@futtta

futtta May 9, 2016

Owner

move to seperate pull-request, after toolbar stuff

classes/autoptimizeToolbar.php
+ public function load_toolbar()
+ {
+ // We check that the current user has the appropriate permissions
+ if( current_user_can( 'manage_options' ) )

This comment has been minimized.

@futtta

futtta May 9, 2016

Owner

can you make that;
if( current_user_can( 'manage_options' ) && apply_filters('autoptimize_filter_toolbar_show',true) )

to allow (technical) users to disable the toolbar from being shown?

@futtta

futtta May 9, 2016

Owner

can you make that;
if( current_user_can( 'manage_options' ) && apply_filters('autoptimize_filter_toolbar_show',true) )

to allow (technical) users to disable the toolbar from being shown?

This comment has been minimized.

@pablocusto

pablocusto May 9, 2016

Contributor

Thanks for the Tip.
Later, in the next pull-request, you would like to incorporate some options in the plugin configuration page to make changes to these conditions through check boxes? ... as well as the ability to modify the maximum size of the cache... etc.. etc ?

@pablocusto

pablocusto May 9, 2016

Contributor

Thanks for the Tip.
Later, in the next pull-request, you would like to incorporate some options in the plugin configuration page to make changes to these conditions through check boxes? ... as well as the ability to modify the maximum size of the cache... etc.. etc ?

This comment has been minimized.

@futtta

futtta May 9, 2016

Owner

no extra options, cute puppies die because of too many options ;-)

no, seriously; I try to limit the amount of options, there's too many
already. if people want they can always use the filters.

On 09-05-16 21:14, Pablo Custo wrote:

In classes/autoptimizeToolbar.php
#41 (comment):

+class autoptimizeToolbar {
+

  • public function __construct()
  • {
  •    // If Cache is not available we don't add the Autoptimize Toolbar
    
  •    if( !autoptimizeCache::cacheavail() ) return;
    
  •    // Load admin toolbar feature once WordPress, all plugins, and the theme are fully loaded and instantiated.
    
  •    add_action( 'wp_loaded', array( $this, 'load_toolbar' ) );
    
  • }
  • public function load_toolbar()
  • {
  •    // We check that the current user has the appropriate permissions
    
  •    if( current_user_can( 'manage_options' ) )
    

Thanks for the Tip.
Later, in the next pull-request, you would like to incorporate some
options in the plugin configuration page to make changes to these
conditions through check boxes? ... as well as the ability to modify the
maximum size of the cache... etc.. etc ?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/futtta/autoptimize/pull/41/files/00bb2855b5700cbc4bf5b2bc1d4b5e365d8de86b#r62555959

@futtta

futtta May 9, 2016

Owner

no extra options, cute puppies die because of too many options ;-)

no, seriously; I try to limit the amount of options, there's too many
already. if people want they can always use the filters.

On 09-05-16 21:14, Pablo Custo wrote:

In classes/autoptimizeToolbar.php
#41 (comment):

+class autoptimizeToolbar {
+

  • public function __construct()
  • {
  •    // If Cache is not available we don't add the Autoptimize Toolbar
    
  •    if( !autoptimizeCache::cacheavail() ) return;
    
  •    // Load admin toolbar feature once WordPress, all plugins, and the theme are fully loaded and instantiated.
    
  •    add_action( 'wp_loaded', array( $this, 'load_toolbar' ) );
    
  • }
  • public function load_toolbar()
  • {
  •    // We check that the current user has the appropriate permissions
    
  •    if( current_user_can( 'manage_options' ) )
    

Thanks for the Tip.
Later, in the next pull-request, you would like to incorporate some
options in the plugin configuration page to make changes to these
conditions through check boxes? ... as well as the ability to modify the
maximum size of the cache... etc.. etc ?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/futtta/autoptimize/pull/41/files/00bb2855b5700cbc4bf5b2bc1d4b5e365d8de86b#r62555959

This comment has been minimized.

@pablocusto

pablocusto May 9, 2016

Contributor

;-) Oki doki
That's why I asked. I wanted to know if there is any reason not to include these options. Thanks for the explanation.

@pablocusto

pablocusto May 9, 2016

Contributor

;-) Oki doki
That's why I asked. I wanted to know if there is any reason not to include these options. Thanks for the explanation.

zytzagoo added a commit to zytzagoo/autoptimize that referenced this pull request May 9, 2016

upstream 54ce21f
doCachePurged on shutdown instead of init

cfr. futtta#41 (comment)
@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 9, 2016

Contributor

I think now all is done and left behind only the feature of the Toolbar.
I do not know if this is how it should do so, as I am still not sure how should I handle myself in github.
I hope this is the right way, but tell me if there is another. Thanks for everything Frank.

Contributor

pablocusto commented May 9, 2016

I think now all is done and left behind only the feature of the Toolbar.
I do not know if this is how it should do so, as I am still not sure how should I handle myself in github.
I hope this is the right way, but tell me if there is another. Thanks for everything Frank.

pablocusto added some commits May 9, 2016

Access the configuration page from the toolbar
just added the possibility to access the configuration page from the Autoptimize toolbar title

@futtta futtta merged commit 0f36e6c into futtta:master May 10, 2016

@futtta

This comment has been minimized.

Show comment
Hide comment
Owner

futtta commented May 10, 2016

I even blogged about this; http://blog.futtta.be/2016/05/10/the-optimism-of-a-pull-request/

thanks Pablo!

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 10, 2016

Contributor

Wonderful! That good news that we could conclude this stage as best we could, thanks Frank.
I would have never imagined that the web had lost that spirit. I'm also from the old school since the rise and subsequent fall of the BBS and Fidonet through evolution by the advent of the Internet.

Anyway, maybe is not entirely lost that spirit, but maybe it was overwhelmed with other forms of the different perspectives of people for a means to have become more heterogeneous.
I still keep hoping that someday that spirit arise again at all because it's very rich in all aspects, and for some reason I feel that it is now re-emerging step by step.
I guess it's part of the evolutionary process of humanity.

Anyway, now, when you can, appreciate you tell me how to do to start a new phase of your project. I erase everything and create a new Fork? or we continue with the same with a new Request?

Thanks for all Frank!

Contributor

pablocusto commented May 10, 2016

Wonderful! That good news that we could conclude this stage as best we could, thanks Frank.
I would have never imagined that the web had lost that spirit. I'm also from the old school since the rise and subsequent fall of the BBS and Fidonet through evolution by the advent of the Internet.

Anyway, maybe is not entirely lost that spirit, but maybe it was overwhelmed with other forms of the different perspectives of people for a means to have become more heterogeneous.
I still keep hoping that someday that spirit arise again at all because it's very rich in all aspects, and for some reason I feel that it is now re-emerging step by step.
I guess it's part of the evolutionary process of humanity.

Anyway, now, when you can, appreciate you tell me how to do to start a new phase of your project. I erase everything and create a new Fork? or we continue with the same with a new Request?

Thanks for all Frank!

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 10, 2016

Owner

Anyway, maybe is not entirely lost that spirit,

I think it is not lost, indeed. But sometimes seems like the feeling of a (naive?) minority. But if that is the case, I am proud to be naive and to be part of a minority.

Anyway, now, when you can, appreciate you tell me how to do to start a new phase of your project. I erase everything and create a new Fork? or we continue with the same with a new Request?

first make sure your fork is completely in sync with mine, then do all related changes and then issue a new pull request for those changes?

Owner

futtta commented May 10, 2016

Anyway, maybe is not entirely lost that spirit,

I think it is not lost, indeed. But sometimes seems like the feeling of a (naive?) minority. But if that is the case, I am proud to be naive and to be part of a minority.

Anyway, now, when you can, appreciate you tell me how to do to start a new phase of your project. I erase everything and create a new Fork? or we continue with the same with a new Request?

first make sure your fork is completely in sync with mine, then do all related changes and then issue a new pull request for those changes?

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 10, 2016

Contributor

Yes, it was always part of a minority. Although I suppose that all these last events that have occurred worldwide in terms of breakdowns in different areas are doing that more and more people join to try to enter the personal commitment of being less selfish and start to discover that when shared selflessly it is much more rewarding in all aspects that otherwise.
Fear is the big problem, Fear to lack, scarcity, in all aspects of the life.
That fear creates individuality, that you are you and I am me, when in fact you are me and I am you, at the quantum level. ;)
We have forgotten that we are part of a whole, we have forgotten that it is not our planet earth but we are parts of it. It's like one of our cells said: "Our Frank", "our Pablo." It would sound ridiculous :D
Anyway, we have many erroneous preconceptions and conceptions of the reality. We continue to believe that the time is linear when it's already shown that quantum level is a completely different thing.(to give another example)
Or that hate or anger is the opposite of love, when in reality it's the fear. (Hate is just a manifestation that explodes when love is caged, trapped, imprisoned. The same happens to a dog in the same situation) :)
Or that the issues of physical matter, are solved with more physical matter, forgetting that more than 95% of the universe is something else and that actually matter is simply a manifestation of something we do not yet know that we called energy.
So, any form of energy, such as thoughts or feelings, end up manifesting itself in the matter according to its vibration.
Anyway, one day we will stop behaving like children on an emotional level to be a little more responsible with ourselves. But it is understandable, fear is always present and we end up conditioning.
Sorry to dwell much on this, but I wanted to share my perspective a little more enlarged about this topic. ;)

PS: And I don't talk about religion things or fanaticism of any kind, but spirituality in its simplest concept. ;)

Pablo

Contributor

pablocusto commented May 10, 2016

Yes, it was always part of a minority. Although I suppose that all these last events that have occurred worldwide in terms of breakdowns in different areas are doing that more and more people join to try to enter the personal commitment of being less selfish and start to discover that when shared selflessly it is much more rewarding in all aspects that otherwise.
Fear is the big problem, Fear to lack, scarcity, in all aspects of the life.
That fear creates individuality, that you are you and I am me, when in fact you are me and I am you, at the quantum level. ;)
We have forgotten that we are part of a whole, we have forgotten that it is not our planet earth but we are parts of it. It's like one of our cells said: "Our Frank", "our Pablo." It would sound ridiculous :D
Anyway, we have many erroneous preconceptions and conceptions of the reality. We continue to believe that the time is linear when it's already shown that quantum level is a completely different thing.(to give another example)
Or that hate or anger is the opposite of love, when in reality it's the fear. (Hate is just a manifestation that explodes when love is caged, trapped, imprisoned. The same happens to a dog in the same situation) :)
Or that the issues of physical matter, are solved with more physical matter, forgetting that more than 95% of the universe is something else and that actually matter is simply a manifestation of something we do not yet know that we called energy.
So, any form of energy, such as thoughts or feelings, end up manifesting itself in the matter according to its vibration.
Anyway, one day we will stop behaving like children on an emotional level to be a little more responsible with ourselves. But it is understandable, fear is always present and we end up conditioning.
Sorry to dwell much on this, but I wanted to share my perspective a little more enlarged about this topic. ;)

PS: And I don't talk about religion things or fanaticism of any kind, but spirituality in its simplest concept. ;)

Pablo

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 11, 2016

Owner

Fear indeed is the big problem. Fear of the unknown, of others, of loosing out. Talking to others could help, but we seem to be too busy in our own "secure" little bubble and the web (and esp. social media) seems to confirm that bubble rather then to encourage people to break out of it.

So it's a good thing we have GitHub, no? ;-)

Owner

futtta commented May 11, 2016

Fear indeed is the big problem. Fear of the unknown, of others, of loosing out. Talking to others could help, but we seem to be too busy in our own "secure" little bubble and the web (and esp. social media) seems to confirm that bubble rather then to encourage people to break out of it.

So it's a good thing we have GitHub, no? ;-)

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 12, 2016

Contributor

;-)

However, there are bubbles everywhere ;-)

( especially full of bubbles of beliefs that self-limiting within our minds
for fear to ...... ) ;)

I finish a couple of tasks that have this week and start a new request.

2016-05-11 4:22 GMT-03:00 frank goossens notifications@github.com:

Fear indeed is the big problem. Fear of the unknown, of others, of loosing
out. Talking to others could help, but we seem to be too busy in our own
"secure" little bubble and the web (and esp. social media) seems to confirm
that bubble rather then to encourage people to break out of it.

So it's a good thing we have GitHub, no? ;-)


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#41 (comment)

Contributor

pablocusto commented May 12, 2016

;-)

However, there are bubbles everywhere ;-)

( especially full of bubbles of beliefs that self-limiting within our minds
for fear to ...... ) ;)

I finish a couple of tasks that have this week and start a new request.

2016-05-11 4:22 GMT-03:00 frank goossens notifications@github.com:

Fear indeed is the big problem. Fear of the unknown, of others, of loosing
out. Talking to others could help, but we seem to be too busy in our own
"secure" little bubble and the web (and esp. social media) seems to confirm
that bubble rather then to encourage people to break out of it.

So it's a good thing we have GitHub, no? ;-)


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#41 (comment)

zytzagoo added a commit to zytzagoo/autoptimize that referenced this pull request May 16, 2016

zytzagoo added a commit to zytzagoo/autoptimize that referenced this pull request May 16, 2016

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 25, 2016

Owner

small follow-up; added some extra security to the ajax-request to delete cache. you can never be too safe;
https://www.wordfence.com/blog/2016/05/3-plugin-vulnerabilities-disclosed-yesterday/

;-)

Owner

futtta commented May 25, 2016

small follow-up; added some extra security to the ajax-request to delete cache. you can never be too safe;
https://www.wordfence.com/blog/2016/05/3-plugin-vulnerabilities-disclosed-yesterday/

;-)

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 26, 2016

Contributor

Thank you for the information Frank.
We have to do some kind of update to the latest implementation that took place in the Autoptimize for this reason or we are safe?

PS: Sorry for not yet create a new request for further improvement, although it was not really an improvement but an update to version 2.0 Unslider.js, which requires make a few modifications to the code to work properly (just because the update itself)... And I think some visual enhancements on the left sidebar.

Contributor

pablocusto commented May 26, 2016

Thank you for the information Frank.
We have to do some kind of update to the latest implementation that took place in the Autoptimize for this reason or we are safe?

PS: Sorry for not yet create a new request for further improvement, although it was not really an improvement but an update to version 2.0 Unslider.js, which requires make a few modifications to the code to work properly (just because the update itself)... And I think some visual enhancements on the left sidebar.

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 26, 2016

Owner

I did the update already, cfr. 7039820 :-)

Owner

futtta commented May 26, 2016

I did the update already, cfr. 7039820 :-)

@pablocusto

This comment has been minimized.

Show comment
Hide comment
@pablocusto

pablocusto May 26, 2016

Contributor

Nice!!

and in theory this would be enough? there is no way to trick them?

PS: What do you mean with "yeah, I know" in // Get nonce from
class-field (yeah,
I know
) ?

2016-05-26 6:27 GMT-03:00 frank goossens notifications@github.com:

I did the update already, cfr. 7039820
7039820
:-)


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#41 (comment)

Contributor

pablocusto commented May 26, 2016

Nice!!

and in theory this would be enough? there is no way to trick them?

PS: What do you mean with "yeah, I know" in // Get nonce from
class-field (yeah,
I know
) ?

2016-05-26 6:27 GMT-03:00 frank goossens notifications@github.com:

I did the update already, cfr. 7039820
7039820
:-)


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#41 (comment)

@futtta

This comment has been minimized.

Show comment
Hide comment
@futtta

futtta May 27, 2016

Owner

this should be enough; the nonce is generated and checked by wordpress core and is specific to the cache removal function. it changes over time and is different between 2 wordpress installs.

// Get nonce from class-field (*yeah, I know*) ?

is because I pass the nonce in the class attribute. works perfectly, but is somewhat ... hackish ;-)

the alternative would be to move the toolbar-js inline and have the nonce echoed in there.

Owner

futtta commented May 27, 2016

this should be enough; the nonce is generated and checked by wordpress core and is specific to the cache removal function. it changes over time and is different between 2 wordpress installs.

// Get nonce from class-field (*yeah, I know*) ?

is because I pass the nonce in the class attribute. works perfectly, but is somewhat ... hackish ;-)

the alternative would be to move the toolbar-js inline and have the nonce echoed in there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment