This is a implementation draft for a proposal made here.
/** * returns a prefixed nucleus table name */ function sql_table($name) { global $MYSQL_PREFIX; if ($MYSQL_PREFIX) { return $MYSQL_PREFIX . 'nucleus_' . $name; } else { return 'nucleus_' . $name; } }
/** * returns a prefixed nucleus table name */ function sql_table($name) { global $MYSQL_PREFIX, $manager; if ($MYSQL_PREFIX) { $table = $MYSQL_PREFIX . 'nucleus_' . $name; } else { $table = 'nucleus_' . $name; } // start the array to store latest query used tables if(!isset($manager->cachedInfo['sql_tables'])) { $manager->cachedInfo['sql_tables'] = array(); } // store table name $manager->cachedInfo['sql_tables'][] = $table; return $table; }
/** * executes an SQL query */ function sql_query($query) { global $SQLCount; $SQLCount++; $res = mysql_query($query) or print("mySQL error with query $query: " . mysql_error() . '<p />'); return $res; }
/** * executes an SQL query */ function sql_query($query) { global $manager; // PreQuery event data $data = array( 'query' => $query, 'sql_tables' => $manager->cachedInfo['sql_tables'], 'result' => '' ); $manager->notify('PreQuery', $data); // clean sql_tables array $manager->cachedInfo['sql_tables'] = array(); if(!empty($data['query'])) { $data['result'] = mysql_query($data['query']) or print('mySQL error with query ' . $data['query'] . ': ' . mysql_error() . '<p />'); } return $data['result']; }