web analytics

Updates from March, 2012 Toggle Comment Threads | Keyboard Shortcuts

  • Apostolos Tsompanopoulos 18:13 on 2012-03-12 Permalink  

    No editor toolbar on WordPress 

    Just a quick note for me and anyone else with a similar problem:

    If the rich-text editor on a WordPress blog is not displayed correctly (i.e. no visible toolbar or no access to writing area — I recently had both symptoms) then the problem might be an incompatible library used in a plugin.

    For my case, the solution of the problem was to deactivate the “Spelling & grammar” box of the JetPack plugin by selecting “Learn more” at first and then “De-activate”.


    Visit The Light of the LAMP blog for more…

     
  • Apostolos Tsompanopoulos 17:26 on 2011-07-27 Permalink
    Tags:   

    Show all my active WordPress plugins 

    Recently, I needed to get a list of every plugin that I’ve activated on all of my WordPress local-hosted blogs.
    So, instead of going to every blog’s dashboard and noting down the list of every active plugin, I decided to write a quick (and dirty, i.e. not optimized) script.


    <?php
    // initialize variables [you have to change them to their proper values]
    $dbhost = "localhost";
    $dbuser = "dbuser";
    $dbpass = "dbpassword";

    // connect to MySQL and get all database names
    $db = mysql_connect( $dbhost, $dbuser, $dbpass)
          or die( "MySQL connection problem: " . mysql_error());

    mysql_set_charset( "utf8");
    mysql_select_db( "information_schema", $db) or die( mysql_error());
    $sql = "SELECT SCHEMA_NAME FROM SCHEMATA";
    $u0 = mysql_query( $sql, $db) or die( mysql_error());
    $alldb = array();
    while ($u1 = mysql_fetch_row( $u0)) { $alldb[] = $u1[ 0]; }

    // select each database found and check for active plugins
    foreach( $alldb as $adb) {
        $conn = mysql_select_db( $adb, $db);

        // get *_options table name
        $sql = "SHOW TABLES FROM $adb LIKE '%_options'";
        $u0 = mysql_query( $sql, $db); // or continue;
        while ($u1 = mysql_fetch_row( $u0)) {
            if ($opt = $u1[0]) {
                // get active plugins list
                $sql = "SELECT * FROM $opt WHERE option_name='active_plugins'";
                $u00 = mysql_query( $sql, $db);
                if ($u01 = mysql_fetch_array( $u00)) {
                    $apj = $u01[ 'option_value'];
                    if ($apj) {
                        $ap = unserialize( $apj);
                        foreach( $ap as $apv)
                            echo "Database: $adb >>> $apvn";
                    }
                }
            }
        }
    }

    mysql_close( $db);
    ?>

    The output of this script is a list of all active plugins, one for each line, so it can be used in a shell script, for example one can find out how many of them are active:

    php show_all_active_plugins.php | wc -l

    or find out which blogs are using a certain plugin:

    php show_all_active_plugins.php | grep akismet

    Disclaimer: as usual, this script works for my setup and, for this reason, I'm sharing it here for everyone interested. I hope it will work for anyone else who tries it, but I cannot guarantee it for every possible situation.


    Visit The Light of the LAMP blog for more…

     
    • Dion de Ville 16:02 on 2011-12-16 Permalink | Reply

      Thank you very much for this. I'm going to use a cut down version of it in a WordPress plugin.

      There are two oversights in the script:

      1, You've missed the opening php tag;

      2, To display display the out put in a file called, for example, active-plugs.php, you need to place a line break after each output line.

      BTW, your commenting system doesn't work properly in Chrome.

      Thanks again. I'll be back for future posts.

    • Apostolos Tsompanopoulos 16:26 on 2011-12-16 Permalink | Reply

      Thank you Dion, I've made the correction #1.
      As for the #2 remark, I wrote this script to run from the shell, as an argument to php interpreter, so I added only the "n" line break and not a "< br >".

      Feel free to change it and use it as you like, I'm glad it is useful.

    • Kevin L. 16:07 on 2012-02-03 Permalink | Reply

      This is a horrible example of getting a list of plugins via WordPress. Why wouldn't you use WordPress functions with $wpdb to interact with the database? Obviously you don't write WordPress themes or plugins often.

    • Apostolos Tsompanopoulos 16:12 on 2012-02-03 Permalink | Reply

      Kevin you are right and I agree with you, but this is a "quick and dirty" solution, as I wrote at the start of the article, that just works from the command line, where I want it to run (and it runs for all the blogs I have installed).

    • Tim Kaufmann 12:46 on 2012-05-17 Permalink | Reply

      This comes in handy when you don't want to run the wordpress installation after it has been infected by a malicious hacker.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
%d bloggers like this: