]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
hook for defining new read-write tables
authorEvan Prodromou <evan@status.net>
Sat, 7 May 2011 00:18:38 +0000 (17:18 -0700)
committerEvan Prodromou <evan@status.net>
Sat, 7 May 2011 00:18:38 +0000 (17:18 -0700)
EVENTS.txt
index.php

index e1620a7e2a3ef9ec693a6cebe4378a34d5a6f78c..f3f45cd084bb170ae82dcd274437d59656f3204b 100644 (file)
@@ -1391,3 +1391,12 @@ EndDocFileForTitle: After searching for a doc or mail template
 - $title: Title we looked for
 - $paths: Paths we searched
 - &$filename: Filename so far (set this if you want)
+
+StartReadWriteTables: when noting which tables must be read-write, even on read-only actions
+- &$tables: list of table names
+- &$rwdb: read-write database URI
+
+EndReadWriteTables: after noting which tables must be read-write, even on read-only actions
+- $tables: list of table names
+- $rwdb: read-write database URI
+
index 3265f0c0e9e4b647803e246cb9b2c2e29fee960f..3534739bface4334914d14a07dbb700363d3f974 100644 (file)
--- a/index.php
+++ b/index.php
@@ -175,15 +175,24 @@ function setupRW()
 
     static $alwaysRW = array('session', 'remember_me');
 
-    // We ensure that these tables always are used
-    // on the master DB
+    $rwdb = $config['db']['database'];
 
-    $config['db']['database_rw'] = $config['db']['database'];
-    $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini';
+    if (Event::handle('StartReadWriteTables', array(&$alwaysRW, &$rwdb))) {
 
-    foreach ($alwaysRW as $table) {
-        $config['db']['table_'.$table] = 'rw';
+        // We ensure that these tables always are used
+        // on the master DB
+
+        $config['db']['database_rw'] = $rwdb;
+        $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini';
+
+        foreach ($alwaysRW as $table) {
+            $config['db']['table_'.$table] = 'rw';
+        }
+
+        Event::handle('EndReadWriteTables', array($alwaysRW, $rwdb));
     }
+
+    return;
 }
 
 function checkMirror($action_obj, $args)