Show
Ignore:
Timestamp:
08/21/06 19:48:40 (2 years ago)
Author:
mbonetti
Message:

Some more multi-user-hacking

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/multiuser/schema.php

    r1535 r1541  
    5252        "properties" => trim(getTable("properties")), 
    5353        "item2user" => trim(getTable("item2user")), 
     54        "channels2user" => trim(getTable("channels2user")), 
     55 
    5456 
    5557    ); 
     
    269271         
    270272        break; 
     273        case 'm.fkuid': 
     274            // userid on metatags - added in 0.5.5 
     275            rss_query('alter table ' . getTable('metatag') . ' add column fkuid bigint(15) not null'); 
     276            rss_query('alter table ' . getTable('metatag') . " add index 'fkuid' ('fkuid')"); 
     277            if (rss_is_sql_error(RSS_SQL_ERROR_NO_ERROR)) { 
     278                $updated++; 
     279                rss_error('updated schema for table ' . getTable('metatag'), RSS_ERROR_NOTICE); 
     280            } else { 
     281                rss_error('Failed updating schema for table ' . getTable('metatag') . ': ' 
     282                    . rss_sql_error_message(), RSS_ERROR_ERROR); 
     283            } 
     284         
     285        break;       
    271286    } 
    272287    return $updated; 
     
    567582            fid bigint(16) NOT NULL default '0',                     
    568583            tid bigint(16) NOT NULL default '0',  
     584            fkuid bigint(16) NOT NULL default '1', 
    569585            ttype enum('item','folder','channel') NOT NULL default 'item',  
    570586            KEY fid (fid),  
    571587            KEY tid (tid), 
     588            KEY fkuid (fkuid), 
    572589            KEY ttype (ttype) 
    573590        ) TYPE=MyISAM;     
     
    728745} 
    729746 
     747/////////////////////////////////////////////////////////////////////////////// 
     748 
     749function _init_channels2user() { 
     750    $table = getTable('channels2user'); 
     751    rss_query_wrapper ('DROP TABLE IF EXISTS ' . $table, true, true); 
     752    $sql_create = str_replace('__table__',$table, <<< _SQL_ 
     753        CREATE TABLE __table__ ( 
     754          id bigint(16) not null auto_increment, 
     755          fkcid bigint(16) NOT NULL, 
     756          fkuid bigint(16) NOT NULL, 
     757          icon varchar(255) default NULL, 
     758          position int(11) NOT NULL default '0', 
     759          parent tinyint(4) default '0', 
     760          flgprivate tinyint(1) NOT NULL default '0', 
     761          flgdeleted tinyint(1) not null default '0', 
     762          primary key (id), 
     763          KEY flgprivate (flgprivate), 
     764          KEY flgdeleted (flgdeleted), 
     765          KEY fkuid (fkuid), 
     766          KEY iids (fkcid) 
     767        ) ENGINE=MyISAM; 
     768_SQL_ 
     769); 
     770 
     771 
     772    rss_query_wrapper($sql_create, false, true); 
     773 
     774    if (!rss_is_sql_error(RSS_SQL_ERROR_NO_ERROR)) { 
     775        rss_error('The ' . $table . 'table doesn\'t exist and I couldn\'t create it! Please create it manually.', RSS_ERROR_ERROR); 
     776        return 0; 
     777    } else { 
     778        $fillSql = "insert into $table " 
     779        ." (fkcid,fkuid,icon,position,parent,flgprivate,flgdeleted) " 
     780        ."select id, " . rss_user_id() . ", icon, position, parent, " 
     781        ." mode & ".RSS_MODE_PRIVATE_STATE." = ".RSS_MODE_PRIVATE_STATE.", " 
     782        ." mode & ".RSS_MODE_DELETED_STATE." = ".RSS_MODE_DELETED_STATE." " 
     783        ." from " .getTable('channels') 
     784        ." where url != ''"; 
     785        //die($fillSql); 
     786        rss_query_wrapper($fillSql, false, true); 
     787         
     788        rss_query( 
     789            'update ' .getTable('metatag') .' m ' 
     790            .'set m.fkuid=' .rss_user_id()); 
     791        /* 
     792        $rs = rss_query( "select id, fkcid from " .getTable('channels2user')); 
     793        $cids=array(); 
     794        while(list($c2uid,$cid) = rss_fetch_row($rs)) { 
     795            $cids[$cid]=$c2uid; 
     796        } 
     797        */ 
     798        return rss_is_sql_error(RSS_SQL_ERROR_NO_ERROR); 
     799    } 
     800} 
     801 
     802 
    730803 
    731804 
     
    776849 
    777850"; 
    778     foreach (array("channels","config","folders","item","metatag","tag","rating", "users", "dashboard","item2user") as $tbl) { 
     851    foreach (array("channels","config","folders","item","metatag","tag","rating", "users", "dashboard","item2user","channels2user") as $tbl) { 
    779852        call_user_func("_init_$tbl");  
    780853    }