Archive

Posts Tagged ‘Development’

WPML 1.7.1

February 19th, 2010 Guillaume No comments

WPML 1.7.1 is online. This version is now properly working for the function bloginfo(‘home’) : then my post “how-to” patch WPML to manage search engine and multi-language is not necessary any more ! All is working out of the box.

Categories: Wordpress Tags:

WPtouch 1.9.8.3 Update

February 19th, 2010 Guillaume No comments

The new WPtouch 1.9.8.3 is just released… but it just removes some bugs : there is no new string inside. Then you can use the french translation file for the 1.9.8.1 version without any modification.

Categories: Wordpress Tags:

WPtouch in french – Update 1.9.8.1

February 14th, 2010 Guillaume No comments

The translation for the WPtouch 1.9.8.1 update is available ! You can download the language file.

It stays some sentences not managed to be translated… By exemple, the “Search…” wich appears when you click on the “Search” button in the WPtouch menu. To solve this, you have just to modify the file wp-content/plugins/wptouch/themes/default/header.php and replace the line

<input type="text" value="Search..."
onfocus="if (this.value == "Search...")
{this.value = ''}" name="s" id="s" />

by

<input type="text" value="<?php _e('Search...', "wptouch"); ?>"
onfocus="if (this.value == "<?php _e('Search...', "wptouch"); ?>")
{this.value = ''}" name="s" id="s" />

If you see something else not properly translated in WPtouch, thanks to alert me !

Finaly, if you manage your website with more than one language, then I suggest that you modify the file wp-content/plugins/wptouch/themes/core/core-functions.php to update the SQL request below in the bnc_get_ordered_cat_list() function :

$sql = "select * from " . $table_prefix .
          "term_taxonomy inner join " . $table_prefix .
          "terms on " . $table_prefix .
          "term_taxonomy.term_id = " . $table_prefix .
          "terms.term_id where taxonomy =
          'category' order by count desc";

replaced by

$sql = "SELECT " . $table_prefix . "terms.term_id, count,
           CASE WHEN INSTR( name, '@' ) >0 THEN
           TRIM( LEFT( name, INSTR( name, '@' ) -1 ) ) ELSE
           TRIM( name ) END AS name FROM " . $table_prefix .
           "icl_translations INNER JOIN " . $table_prefix .
           "term_taxonomy ON " . $table_prefix .
           "term_taxonomy.term_taxonomy_id = " . $table_prefix .
           "icl_translations.element_id INNER JOIN " .
           $table_prefix . "terms ON " . $table_prefix .
           "term_taxonomy.term_id = " . $table_prefix .
           "terms.term_id WHERE element_type = 'category'
           AND taxonomy = 'category' AND
           language_code = '" . get_bloginfo('short_language') .
           "' ORDER BY count DESC";

Then your WPtouch “Category” will display only the categories for the current language…

Categories: Wordpress Tags:

Chromium as a fake Safari on iPhone

November 24th, 2009 Guillaume No comments

To test iPhone WebApp on Linux we don’t have Safari…
We can use Safari for Windows with Wine, or Safari in a Windows virtual machine with VMWare Server or VirtualBox…
But we can also simply use a browser with the same core engine than Safari ie Webkit : Epiphany ou Chromium. Then we have just to change the user-agent to forge a fake Safari on iPhone. If you search on Google, you’ll find very exotic solution : someone uses hexadecimal editor to modify the Chromium binary files… like using an atomic bomb against a fly) : the solution is much easier, you have just to pass through the –user-agent parameter to chromium like this :

chromium-browser --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16"

Categories: iPhone Tags:

WPtouch in french – Update 1.9.5

November 14th, 2009 Guillaume No comments

The translation for the WPtouch 1.9.5 update is available ! You can download the language file.

Categories: Wordpress Tags: ,

How to secure your WordPress blog ?

October 31st, 2009 Guillaume No comments

A little tip to secure your WordPress blog (you can use it with another CMS indeed) : just put a .htaccess into you admin folder : for WordPress it’s in wp-admin

Example .htaccess

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist home IP address
allow from my.ip.at.home
# whitelist work IP address
allow from my.ip.at.work
</LIMIT>

And of course, you change this file with your own IP addresses…

Categories: Wordpress Tags: ,

How to create a debian package from sources ?

October 31st, 2009 Guillaume No comments

Sometimes it happens we want to create his own .deb package from the sources repository (e.g. when you like to use the last up-to-date version and the binary package doesn’t exist…)

It’s very easy if you follow the rules in the good order :-)

  1. Download sources files of your software (for this example it could be drupal6 even if the binary package exists now…)
    1. drupal6_6.14-1.orig.tar.gz
    2. drupal6_6.14-1.diff.gz
    3. drupal6_6.14-1.dsc
  2. Un-compress drupal6_6.14.orig.tar.gz
  3. Un-compress drupal6_6.14.diff.gz
  4. You’ll probably need some tools if it’s your first building package process :
    1. sudo apt-get install dpatch
    2. sudo apt-get install fakeroot
  5. Run : patch -p1 < xxx.diff
  6. Move the debian directory created in previous step into the folder created in step 2 (the one which contents the sources from *.orig.tar.gz, for this example it’s drupal-6.14) : mv debian drupal-6.14
  7. Go into the sources directory : cd drupal-6.14
  8. You’ll probably make debian/rules script executable… Run : chmod +x debian/rules
  9. Then run : dpkg-buildpackage -rfakeroot -uc -b
  10. That’s all ! You just have to install your new freshly compiled package. So, for our example it will be :
    1. cd ..
    2. sudo dpkg -i drupal6-6.14_all.deb

You know the way now…

Categories: OS Tags: ,

WPML, multi language and search engine

October 31st, 2009 Guillaume No comments

If you are using WordPress and the WPML plugin to manage your web site in multi language, you have surely noticed that when a visitor uses the search engine, WordPress displays the result list of the default language and not of the language currently used by the visitor…

To upgrade this feature, I’ve done a little patch… It’s a quick and dirty one but it works (you can easily optimise this by using a function to overload the default behavior of WordPress instead of directly modifying the standard WordPress files (and loosing your modification during the next upgrade…)

Update the file wp-includes/general-template.php for the function get_bloginfo like this :

case 'short_language':
  $output = get_locale();
  $short_language = explode("_", $output);
  $output = $short_language[0];
break;

And the on your theme (e.g. iNove in wp-content/themes/inove/templates/header.php file) :

You just have to modify the form like this :

<form action="<?php bloginfo('home'); ?>/<?php bloginfo('short_language'); ?>/"
      method="get">

Have fun with WordPress and WPML !

ps : you can also modify the links to your title/home to avoid switching language when a user click on the logo

<h1 id="title">
  <a href="<?php bloginfo('url'); ?>/<?php bloginfo('short_language'); ?>/">
    <?php bloginfo('name'); ?>
  </a>
</h1>

and for the breadcrumbs…

<a title="<?php _e('Home', 'inove'); ?>"
   href="<?php echo get_settings('home'); ?>/<?php bloginfo('short_language'); ?>/">
  <?php _e('Home', 'inove'); ?>
</a>

By the way, the idea comes from this thread…

Categories: Wordpress Tags: ,

WPtouch in french

October 31st, 2009 Guillaume No comments

If, like me, you are using WPtouch to manage the display of your web site in “iPhone mode”… You can use the french translation I did.

You have just to add this code in the beginning of your wptouch.php file under the line
define( 'WPTOUCH_PROWL_APPNAME', 'WPtouch');

/** l10n */
function wptouch_plugin_localization(){
  load_plugin_textdomain('wptouch', false, 'wptouch/locale');
}
add_action ('init', 'wptouch_plugin_localization');

And then unzip the translation file for WPtouch 1.9.19.14 into your wptouch/locale folder.

You should have the following treeview :

./wptouch/locale
./wptouch/locale/wptouch-fr_FR.mo
./wptouch/locale/wptouch-fr_FR.po

That’s all folks
The frontoffice and backoffice side of this plugin are then translated in french.

You can use this “addon” for free, don’t hesitate to upgrade it or send me a comment !

See alse :

Categories: Wordpress Tags: ,

Once upon a time in the WebKit galaxy

October 14th, 2009 Guillaume No comments

Who says WebApp for iPhone, says WebKit. Behind this weird word is simply a collection of images in PNG, CSS style sheet and one Javascript page, the whole optimized to look and feel like a true native iPhone application.

Yes, but there it is… The WebKit War rages on ! In the beginning was iUI, then iWebKit appears and finally WebApp.net comes to life (Why to choose a name like this for a library that has strictly no relation with the .Net Microsoft framework ? I suppose it’s only to surf on the hype of this word… pfff).

I tests these webkit for 1 month to build my own little iMedia application (I’ve shortened the name who was initially iMediaLibrary). And the report is that none of these webkit is convenient for me.

All have qualities and defects. iWebKit is rich and well documented. iUI manage the “slide” effect almost perfectly and has few bugs. WebApp.Net is a compromise between these 2 ones but it’s the one I’ve the least tested… so it’s difficult to give a definitive advice.

Make no mistake, behind these concise comments I’ve much admiration for all this work done and I’m impressed how precisely a wep application can mimic the behavior of a native iPhone application with these kits.

But indeed, the most frustrating thing is to notice that all these projects are working to achieve the same goal… and it would be much more efficient if they were all federate around a single one instead of being scattered.

Obviously the NIH syndrome (Not Invented Here) is still raging and I will probably contribute to make it worse by trying to build my own webkit. It will be a synthesis of all the good ideas we can find inside the three webkits above.

yaiWebKit : Yet Another iPhone Web Kit (by waiting to find better ;-) )

This is the name of the project I’m starting to create jointly with iMedia. If you are interested or if you’re already participating to an iPhone Webkit, contact me !

The main objectif will be to reproduce as faithfully as possible the graphical interface and the native behavior of the iPhone… and add feature when and only when the current version contains zero bug… In other words, I’m not ready to have a webkit as rich as iWebKit :-) But as the short-term purpose is to supply a library for iMedia and no more, it is not necessarily a bad thing.

To be continued…

Categories: iPhone Tags: , ,