static function install(&$obj)
 {
     global $serendipity;
     if ((int) $obj->get_config('tweetbackhistory_v') < 1) {
         $obj->set_config('tweetbackhistory_v', 2);
         serendipity_db_query("ALTER TABLE {$serendipity['dbPrefix']}tweetbackhistory CHANGE lasttweetid lasttweetid varchar(20) not null");
     }
     if (!TwitterPluginDbAccess::table_created('tweetbackhistory')) {
         $q = "create table {$serendipity['dbPrefix']}tweetbackhistory (" . "entryid int(10) not null, " . "lasttweetid varchar(20) not null, " . "lastcheck int(10) not null, " . "primary key (entryid)" . ")";
         $result = serendipity_db_schema_import($q);
         if ($result !== true) {
             return;
         }
     }
     if (!TwitterPluginDbAccess::table_created('tweetbackshorturls')) {
         $q = "create table {$serendipity['dbPrefix']}tweetbackshorturls (" . "service varchar(15) not null, " . "longurl varchar(255) not null, " . "shorturl varchar(50) not null, " . "primary key (service, longurl)" . ")";
         $result = serendipity_db_schema_import($q);
         if ($result !== true) {
             return;
         }
         serendipity_db_schema_import("CREATE INDEX idx_tweetbackshorturls_longurl ON {$serendipity['dbPrefix']}tweetbackshorturls (longurl)");
         serendipity_db_schema_import("CREATE INDEX idx_tweetbackshorturls_service ON {$serendipity['dbPrefix']}tweetbackshorturls (service)");
     }
     // Clear old wrong entries!
     $q = "delete from {$serendipity['dbPrefix']}tweetbackshorturls where shorturl LIKE 'Error'";
     $row = serendipity_db_query($q, true, 'num');
 }