diff --git a/db.php b/db.php index 371243a..d38a3ba 100644 --- a/db.php +++ b/db.php @@ -1,11 +1,12 @@ * define('USE_MYSQL', true); + * */ if (defined('USE_MYSQL') && USE_MYSQL === true) return; @@ -35,7 +38,7 @@ function pdo_log_error($message, $data = null) {
+ * LOG(X)
+ *
+ * Used with two arguments, it returns the natural logarithm of X base B.
+ *
+ * LOG(B, X)
+ *
+ * In this case, it returns the value of log(X) / log(B).
+ *
+ * Used without an argument, it returns false. This returned value will be
+ * rewritten to 0, because SQLite doesn't understand true/false value.
+ *
+ * @param integer representing the base of the logarithm, which is optional.
+ * @param double value to turn into logarithm.
+ * @return double | NULL
+ */
public function log() {
$numArgs = func_num_args();
if ($numArgs == 1) {
@@ -307,18 +525,36 @@ class PDOSQLiteUDFS {
$arg2 = func_get_arg(1);
return log($arg1)/log($arg2);
} else {
- return false;
+ return null;
}
}
-
- public function least() {
- $arr = func_get_args();
- return min($arr);
- }
-
/**
- * These two functions are meaningless in SQLite
- * So we return meaningless statement and do nothing
+ * Method to emulate MySQL LEAST() function.
+ *
+ * This function rewrites the function name to SQLite compatible function name.
+ *
+ * @return mixed
+ */
+ public function least() {
+ $arg_list = func_get_args();
+ return "min($arg_list)";
+ }
+ /**
+ * Method to emulate MySQL GREATEST() function.
+ *
+ * This function rewrites the function name to SQLite compatible function name.
+ *
+ * @return mixed
+ */
+ public function greatest() {
+ $arg_list = func_get_args();
+ return "max($arg_list)";
+ }
+ /**
+ * Method to dummy out MySQL GET_LOCK() function.
+ *
+ * This function is meaningless in SQLite, so we do nothing.
+ *
* @param string $name
* @param integer $timeout
* @return string
@@ -326,39 +562,75 @@ class PDOSQLiteUDFS {
public function get_lock($name, $timeout) {
return '1=1';
}
+ /**
+ * Method to dummy out MySQL RELEASE_LOCK() function.
+ *
+ * This function is meaningless in SQLite, so we do nothing.
+ *
+ * @param string $name
+ * @return string
+ */
public function release_lock($name) {
return '1=1';
}
-
/**
- * MySQL aliases for upper and lower functions
- * @param unknown $string
- * @return string
+ * Method to emulate MySQL UCASE() function.
+ *
+ * This is MySQL alias for upper() function. This function rewrites it
+ * to SQLite compatible name upper().
+ *
+ * @param string
+ * @return string SQLite compatible function name.
*/
public function ucase($string) {
return "upper($string)";
}
+ /**
+ * Method to emulate MySQL LCASE() function.
+ *
+ * This is MySQL alias for lower() function. This function rewrites it
+ * to SQLite compatible name lower().
+ *
+ * @param string
+ * @return string SQLite compatible function name.
+ */
public function lcase($string) {
return "lower($string)";
}
-
/**
- * MySQL aliases for INET_NTOA and INET_ATON functions
- * @param unsigned integer, string respectively
- * @return string, unsigned integer respectively
+ * Method to emulate MySQL INET_NTOA() function.
+ *
+ * This function gets 4 or 8 bytes integer and turn it into the network address.
+ *
+ * @param unsigned long integer
+ * @return string
*/
public function inet_ntoa($num) {
return long2ip($num);
}
+ /**
+ * Method to emulate MySQL INET_ATON() function.
+ *
+ * This function gets the network address and turns it into integer.
+ *
+ * @param string
+ * @return unsigned long integer
+ */
public function inet_aton($addr) {
$int_data = ip2long($addr);
$unsigned_int_data = sprintf('%u', $address);
return $unsigned_int_data;
}
-
/**
- * MySQL aliase for DATEDIFF function
- * @param string, string
+ * Method to emulate MySQL DATEDIFF() function.
+ *
+ * This function compares two dates value and returns the difference.
+ *
+ * PHP 5.3.2 has a serious bug in DateTime::diff(). So if users' PHP is that version,
+ * we don't use that function. See https://bugs.php.net/bug.php?id=51184.
+ *
+ * @param string start
+ * @param string end
* @return string
*/
public function datediff($start, $end) {
@@ -368,7 +640,16 @@ class PDOSQLiteUDFS {
return $interval;
}
/**
- * emulates MySQL LOCATE() function
+ * Method to emulate MySQL LOCATE() function.
+ *
+ * This function returns the position if $substr is found in $str. If not,
+ * it returns 0. If mbstring extension is loaded, mb_strpos() function is
+ * used.
+ *
+ * @param string needle
+ * @param string haystack
+ * @param integer position
+ * @return integer
*/
public function locate($substr, $str, $pos = 0) {
if (!extension_loaded('mbstring')) {
@@ -386,7 +667,13 @@ class PDOSQLiteUDFS {
}
}
/**
+ * Method to return MySQL version.
*
+ * This function only returns WordPress $required_mysql_version, because it is
+ * meaningless for SQLite database.
+ *
+ * @param none
+ * @return string representing the version number
*/
public function version() {
global $required_mysql_version;
diff --git a/functions.php b/functions.php
index e97e373..58d8445 100644
--- a/functions.php
+++ b/functions.php
@@ -1,23 +1,50 @@
+ * new PDOSQLiteUDFS(ref_to_pdo_obj);
+ *
+ *
+ * This automatically enables ref_to_pdo_obj to replace the function in the SQL statement
+ * to the ones defined here.
*/
class PDOSQLiteUDFS {
+ /**
+ * The class constructor
+ *
+ * Initializes the use defined functions to PDO object with PDO::sqliteCreateFunction().
+ *
+ * @param reference to PDO object $pdo
+ */
public function __construct(&$pdo){
foreach ($this->functions as $f=>$t) {
$pdo->sqliteCreateFunction($f, array($this, $t));
}
}
-
+ /**
+ * array to define MySQL function => function defined with PHP.
+ *
+ * Replaced functions must be public.
+ *
+ * @var associative array
+ */
private $functions = array(
'month' => 'month',
'year' => 'year',
@@ -41,7 +68,6 @@ class PDOSQLiteUDFS {
'subdate' => 'date_sub',
'localtime' => 'now',
'localtimestamp' => 'now',
- //'date'=>'date',
'isnull' => 'isnull',
'if' => '_if',
'regexpp' => 'regexp',
@@ -49,7 +75,7 @@ class PDOSQLiteUDFS {
'field' => 'field',
'log' => 'log',
'least' => 'least',
- 'replace' => 'replace',
+ 'greatest' => 'greatest',
'get_lock' => 'get_lock',
'release_lock' => 'release_lock',
'ucase' => 'ucase',
@@ -60,108 +86,238 @@ class PDOSQLiteUDFS {
'locate' => 'locate',
'version' => 'version'
);
-
+ /**
+ * Method to extract the month value from the date.
+ *
+ * @param string representing the date formated as 0000-00-00.
+ * @return string representing the number of the month between 1 and 12.
+ */
public function month($field){
$t = strtotime($field);
return date('n', $t);
}
+ /**
+ * Method to extract the year value from the date.
+ *
+ * @param string representing the date formated as 0000-00-00.
+ * @return string representing the number of the year.
+ */
public function year($field){
$t = strtotime($field);
return date('Y', $t);
}
+ /**
+ * Method to extract the day value from the date.
+ *
+ * @param string representing the date formated as 0000-00-00.
+ * @return string representing the number of the day of the month from 1 and 31.
+ */
public function day($field){
$t = strtotime($field);
return date('j', $t);
}
+ /**
+ * Method to return the unix timestamp.
+ *
+ * Used without an argument, it returns PHP time() function (total seconds passed
+ * from '1970-01-01 00:00:00' GMT). Used with the argument, it changes the value
+ * to the timestamp.
+ *
+ * @param string representing the date formated as '0000-00-00 00:00:00'.
+ * @return number of unsigned integer
+ */
public function unix_timestamp($field = null){
return is_null($field) ? time() : strtotime($field);
}
+ /**
+ * Method to emulate MySQL SECOND() function.
+ *
+ * @param string representing the time formated as '00:00:00'.
+ * @return number of unsigned integer
+ */
public function second($field){
$t = strtotime($field);
return intval( date("s", $t) );
}
+ /**
+ * Method to emulate MySQL MINUTE() function.
+ *
+ * @param string representing the time formated as '00:00:00'.
+ * @return number of unsigned integer
+ */
public function minute($field){
$t = strtotime($field);
return intval(date("i", $t));
}
+ /**
+ * Method to emulate MySQL HOUR() function.
+ *
+ * @param string representing the time formated as '00:00:00'.
+ * @return number
+ */
public function hour($time){
list($hours, $minutes, $seconds) = explode(":", $time);
return intval($hours);
}
+ /**
+ * Method to emulate MySQL FROM_UNIXTIME() function.
+ *
+ * @param integer of unix timestamp
+ * @param string to indicate the way of formatting(optional)
+ * @return string formatted as '0000-00-00 00:00:00'.
+ */
public function from_unixtime($field, $format=null){
// $field is a timestamp
//convert to ISO time
$date = date("Y-m-d H:i:s", $field);
//now submit to dateformat
-
return is_null($format) ? $date : $self->dateformat($date, $format);
}
+ /**
+ * Method to emulate MySQL NOW() function.
+ *
+ * @return string representing current time formatted as '0000-00-00 00:00:00'.
+ */
public function now(){
return date("Y-m-d H:i:s");
}
+ /**
+ * Method to emulate MySQL CURDATE() function.
+ *
+ * @return string representing current time formatted as '0000-00-00'.
+ */
public function curdate() {
return date("Y-m-d");
}
+ /**
+ * Method to emulate MySQL CHAR_LENGTH() function.
+ *
+ * @param string
+ * @return unsigned integer for the length of the argument.
+ */
public function char_length($field){
return strlen($field);
}
+ /**
+ * Method to emulate MySQL MD5() function.
+ *
+ * @param string
+ * @return string of the md5 hash value of the argument.
+ */
public function md5($field){
return md5($field);
}
+ /**
+ * Method to emulate MySQL RAND() function.
+ *
+ * SQLite does have a random generator, but it is called RANDOM() and returns random
+ * number between -9223372036854775808 and +9223372036854775807. So we substitute it
+ * with PHP random generator.
+ *
+ * This function uses mt_rand() which is four times faster than rand() and returns
+ * the random number between 0 and 1.
+ *
+ * @return unsigned integer
+ */
public function rand(){
- return rand(0,1);
+ return mt_rand(0, 1);
}
+ /**
+ * Method to emulate MySQL SUBSTRING() function.
+ *
+ * This function rewrites the function name to SQLite compatible substr().
+ *
+ * @param string $text
+ * @param integer $pos representing the start point.
+ * @param integer $len representing the length of the substring(optional).
+ * @return string
+ */
public function substring($text, $pos, $len=null){
- if (is_null($len)) return substr($text, $pos-1);
- else return substr($text, $pos-1, $len);
+ return "substr($text, $pos, $len)";
}
+ /**
+ * Method to emulate MySQL DATEFORMAT() function.
+ *
+ * @param string date formatted as '0000-00-00' or datetime as '0000-00-00 00:00:00'.
+ * @param string $format
+ * @return string formatted according to $format
+ */
public function dateformat($date, $format){
$mysql_php_dateformats = array ( '%a' => 'D', '%b' => 'M', '%c' => 'n', '%D' => 'jS', '%d' => 'd', '%e' => 'j', '%H' => 'H', '%h' => 'h', '%I' => 'h', '%i' => 'i', '%j' => 'z', '%k' => 'G', '%l' => 'g', '%M' => 'F', '%m' => 'm', '%p' => 'A', '%r' => 'h:i:s A', '%S' => 's', '%s' => 's', '%T' => 'H:i:s', '%U' => 'W', '%u' => 'W', '%V' => 'W', '%v' => 'W', '%W' => 'l', '%w' => 'w', '%X' => 'Y', '%x' => 'o', '%Y' => 'Y', '%y' => 'y', );
- $t = strtotime($date);
+ $t = strtotime($date);
$format = strtr($format, $mysql_php_dateformats);
$output = date($format, $t);
return $output;
}
+ /**
+ * Method to emulate MySQL DATE_ADD() function.
+ *
+ * This function adds the time value of $interval expression to $date.
+ * $interval is a single quoted strings rewritten by SQLiteQueryDriver::rewrite_query().
+ * It is calculated in the private function deriveInterval().
+ *
+ * @param string $date representing the start date.
+ * @param string $interval representing the expression of the time to add.
+ * @return string date formated as '0000-00-00 00:00:00'.
+ */
public function date_add($date, $interval) {
$interval = $this->deriveInterval($interval);
switch (strtolower($date)) {
case "curdate()":
- $objDate = new Datetime($this->curdate());
+ $objDate = new Datetime($this->curdate());
$objDate->add(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d");
break;
case "now()":
- $objDate = new Datetime($this->now());
+ $objDate = new Datetime($this->now());
$objDate->add(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d H:i:s");
break;
default:
- $objDate = new Datetime($date);
+ $objDate = new Datetime($date);
$objDate->add(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d H:i:s");
}
return $returnval;
}
+ /**
+ * Method to emulate MySQL DATE_SUB() function.
+ *
+ * This function substracts the time value of $interval expression from $date.
+ * $interval is a single quoted strings rewritten by SQLiteQueryDriver::rewrite_query().
+ * It is calculated in the private function deriveInterval().
+ *
+ * @param string $date representing the start date.
+ * @param string $interval representing the expression of the time to substract.
+ * @return string date formated as '0000-00-00 00:00:00'.
+ */
public function date_sub($date, $interval) {
$interval = $this->deriveInterval($interval);
switch (strtolower($date)) {
case "curdate()":
- $objDate = new Datetime($this->curdate());
+ $objDate = new Datetime($this->curdate());
$objDate->sub(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d");
break;
case "now()":
- $objDate = new Datetime($this->now());
+ $objDate = new Datetime($this->now());
$objDate->sub(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d H:i:s");
break;
default:
- $objDate = new Datetime($date);
+ $objDate = new Datetime($date);
$objDate->sub(new DateInterval($interval));
$returnval = $objDate->format("Y-m-d H:i:s");
}
return $returnval;
}
+ /**
+ * Method to calculate the interval time between two dates value.
+ *
+ * @access private
+ * @param string $interval white space separated expression.
+ * @return string representing the time to add or substract.
+ */
private function deriveInterval($interval) {
$interval = trim(substr(trim($interval), 8));
$parts = explode(' ', $interval);
@@ -202,7 +358,7 @@ class PDOSQLiteUDFS {
return 'P' . $days . 'D' . 'T' . $hours . 'H' . $minutes . 'M';
break;
case "day_hour":
- $days = intval($_parts[0]);
+ $days = intval($_parts[0]);
$hours = intval($_parts[1]);
return 'P' . $days . 'D' . 'T' . $hours . 'H';
break;
@@ -212,28 +368,63 @@ class PDOSQLiteUDFS {
break;
}
}
-
+ /**
+ * Method to emulate MySQL DATE() function.
+ *
+ * @param string $date formatted as unix time.
+ * @return string formatted as '0000-00-00'.
+ */
public function date($date){
return date("Y-m-d", strtotime($date));
}
-
+ /**
+ * Method to emulate MySQL ISNULL() function.
+ *
+ * This function returns true if the argument is null, and true if not.
+ *
+ * @param various types $field
+ * @return boolean
+ */
public function isnull($field){
return is_null($field);
}
-
+ /**
+ * Method to emulate MySQL IF() function.
+ *
+ * As 'IF' is a reserved word for PHP, function name must be changed.
+ *
+ * @param unknonw $expression the statement to be evaluated as true or false.
+ * @param unknown $true statement or value returned if $expression is true.
+ * @param unknown $false statement or value returned if $expression is false.
+ * @return unknown
+ */
public function _if($expression, $true, $false){
return ($expression == true) ? $true : $false;
}
-
+ /**
+ * Method to emulate MySQL REGEXP() function.
+ *
+ * @param string $field haystack
+ * @param string $pattern: regular expression to match.
+ * @return integer 1 if matched, 0 if not matched.
+ */
public function regexp($field, $pattern){
$pattern = str_replace('/', '\/', $pattern);
$pattern = "/" . $pattern ."/i";
return preg_match ($pattern, $field);
}
-
+ /**
+ * Method to emulate MySQL CONCAT() function.
+ *
+ * SQLite does have CONCAT() function, but it has a different syntax from MySQL.
+ * So this function must be manipulated here.
+ *
+ * @param string
+ * @return NULL if the argument is null | string conatenated if the argument is given.
+ */
public function concat() {
$returnValue = "";
- $argsNum = func_num_args();
+ $argsNum = func_num_args();
$argsList = func_get_args();
for ($i = 0; $i < $argsNum; $i++) {
if (is_null($argsList[$i])) {
@@ -243,20 +434,51 @@ class PDOSQLiteUDFS {
}
return $returnValue;
}
-
+ /**
+ * Method to emulate MySQL FIELD() function.
+ *
+ * This function gets the list argument and compares the first item to all the others.
+ * If the same value is found, it returns the position of that value. If not, it
+ * returns 0.
+ *
+ * @param variable number of string, integer or double
+ * @return unsigned integer
+ */
public function field() {
$numArgs = func_num_args();
if ($numArgs < 2 or is_null(func_get_arg(0))) {
- return null;
+ return 0;
+ } else {
+ $arg_list = func_get_args();
}
- $arr = func_get_args();
- $searchString = strtolower(array_shift($arr));
+ $searchString = array_shift($arg_list);
for ($i = 0; $i < $numArgs-1; $i++) {
- if ($searchString === strtolower($arr[$i])) return $i + 1;
+ if ($searchString === strtolower($arg_list[$i])) {
+ return $i + 1;
+ }
}
- return null;
+ return 0;
}
-
+ /**
+ * Method to emulate MySQL LOG() function.
+ *
+ * Used with one argument, it returns the natural logarithm of X.
+ *
+ * LOG(X)
+ *
+ * Used with two arguments, it returns the natural logarithm of X base B.
+ *
+ * LOG(B, X)
+ *
+ * In this case, it returns the value of log(X) / log(B).
+ *
+ * Used without an argument, it returns false. This returned value will be
+ * rewritten to 0, because SQLite doesn't understand true/false value.
+ *
+ * @param integer representing the base of the logarithm, which is optional.
+ * @param double value to turn into logarithm.
+ * @return double | NULL
+ */
public function log() {
$numArgs = func_num_args();
if ($numArgs == 1) {
@@ -267,22 +489,36 @@ class PDOSQLiteUDFS {
$arg2 = func_get_arg(1);
return log($arg1)/log($arg2);
} else {
- return false;
+ return null;
}
}
-
+ /**
+ * Method to emulate MySQL LEAST() function.
+ *
+ * This function rewrites the function name to SQLite compatible function name.
+ *
+ * @return mixed
+ */
public function least() {
- $arr = func_get_args();
- return min($arr);
+ $arg_list = func_get_args();
+ return "min($arg_list)";
}
-
- public function replace($haystack, $needle, $replace) {
- return str_replace($needle, $replace, $haystack);
- }
-
/**
- * These two functions are meaningless in SQLite
- * So we return meaningless statement and do nothing
+ * Method to emulate MySQL GREATEST() function.
+ *
+ * This function rewrites the function name to SQLite compatible function name.
+ *
+ * @return mixed
+ */
+ public function greatest() {
+ $arg_list = func_get_args();
+ return "max($arg_list)";
+ }
+ /**
+ * Method to dummy out MySQL GET_LOCK() function.
+ *
+ * This function is meaningless in SQLite, so we do nothing.
+ *
* @param string $name
* @param integer $timeout
* @return string
@@ -290,30 +526,61 @@ class PDOSQLiteUDFS {
public function get_lock($name, $timeout) {
return '1=1';
}
+ /**
+ * Method to dummy out MySQL RELEASE_LOCK() function.
+ *
+ * This function is meaningless in SQLite, so we do nothing.
+ *
+ * @param string $name
+ * @return string
+ */
public function release_lock($name) {
return '1=1';
}
-
/**
- * MySQL aliases for upper and lower functions
- * @param $string
- * @return string
+ * Method to emulate MySQL UCASE() function.
+ *
+ * This is MySQL alias for upper() function. This function rewrites it
+ * to SQLite compatible name upper().
+ *
+ * @param string
+ * @return string SQLite compatible function name.
*/
public function ucase($string) {
return "upper($string)";
}
+ /**
+ * Method to emulate MySQL LCASE() function.
+ *
+ *
+ * This is MySQL alias for lower() function. This function rewrites it
+ * to SQLite compatible name lower().
+ *
+ * @param string
+ * @return string SQLite compatible function name.
+ */
public function lcase($string) {
return "lower($string)";
}
-
/**
- * MySQL aliases for INET_NTOA and INET_ATON functions
- * @param unsigned integer, string respectively
- * @return string, unsigned integer respectively
+ * Method to emulate MySQL INET_NTOA() function.
+ *
+ * This function gets 4 or 8 bytes integer and turn it into the network address.
+ *
+ * @param unsigned long integer
+ * @return string
*/
public function inet_ntoa($num) {
return long2ip($num);
}
+ /**
+ * Method to emulate MySQL INET_ATON() function.
+ *
+ * This function gets the network address and turns it into integer.
+ *
+ * @param string
+ * @return unsigned long integer
+ */
public function inet_aton($addr) {
$int_data = ip2long($addr);
$unsigned_int_data = sprintf('%u', $address);
@@ -321,28 +588,41 @@ class PDOSQLiteUDFS {
}
/**
- * MySQL aliase for DATEDIFF function
- * @param string, string
+ * Method to emulate MySQL DATEDIFF() function.
+ *
+ * This function compares two dates value and returns the difference.
+ *
+ * PHP 5.3.2 has a serious bug in DateTime::diff(). So if users' PHP is that version,
+ * we don't use that function. See https://bugs.php.net/bug.php?id=51184.
+ *
+ * @param string start
+ * @param string end
* @return string
*/
public function datediff($start, $end) {
- /* PHP 5.3.2 has a serious bug in DateTime::diff()
- * see https://bugs.php.net/bug.php?id=51184
- */
if (version_compare(PHP_VERSION, '5.3.2', '==')) {
$start_date = strtotime($start);
$end_date = strtotime($end);
- $interval = floor(($start_date - $end_date)/(3600*24));
+ $interval = floor(($start_date - $end_date)/(3600*24));
return $interval;
} else {
$start_date = new DateTime($start);
- $end_date = new DateTime($end);
- $interval = $end_date->diff($start_date, false);
+ $end_date = new DateTime($end);
+ $interval = $end_date->diff($start_date, false);
return $interval->format('%r%a');
}
}
/**
- * emulates MySQL LOCATE() function
+ * Method to emulate MySQL LOCATE() function.
+ *
+ * This function returns the position if $substr is found in $str. If not,
+ * it returns 0. If mbstring extension is loaded, mb_strpos() function is
+ * used.
+ *
+ * @param string needle
+ * @param string haystack
+ * @param integer position
+ * @return integer
*/
public function locate($substr, $str, $pos = 0) {
if (!extension_loaded('mbstring')) {
@@ -360,7 +640,13 @@ class PDOSQLiteUDFS {
}
}
/**
+ * Method to return MySQL version.
*
+ * This function only returns WordPress $required_mysql_version, because it is
+ * meaningless for SQLite database.
+ *
+ * @param none
+ * @return string representing the version number
*/
public function version() {
global $required_mysql_version;
diff --git a/install.php b/install.php
index bc88f85..4648d02 100644
--- a/install.php
+++ b/install.php
@@ -1,17 +1,20 @@
"
"PDO for WordPressの後継です。PDO for WordPressはWordPressでSQLiteを使えるようにする"
"ものでしたが、もうメンテナンスされていないようで、古くなってしまいました。SQLite Integrationは、その基本的な"
-"考えと枠組みを使って、新たな機能を追加し、最新のWordPress(3.8)で動作するように"
+"考えと枠組みを使って、新たな機能を追加し、最新のWordPress(3.8.1)で動作するように"
"したものです。"
#: utilities/documentation.php:43
@@ -243,7 +243,7 @@ msgstr ""
"が扱えないものもあります。だから..."
#: utilities/documentation.php:68
-msgid "There are some plugins that you can't use in any way.- Plugin Page.', $domain);?> + SQLite Integration page.', $domain);?>
@@ -38,7 +45,7 @@ class SQLiteIntegrationDocument {
- PDO for WordPress, which enabled WordPress to use SQLite for its database. But PDO for WordPress doesn\'t seem to be maintained any more only to be outdated. SQLite Integration makes use of the basic ideas and framework of PDO for WordPress, adds some new features and updates it to be able to work with the newest version of WordPress(3.8).', $domain); ?> + PDO for WordPress, which enabled WordPress to use SQLite for its database. But PDO for WordPress doesn\'t seem to be maintained any more only to be outdated. SQLite Integration makes use of the basic ideas and framework of PDO for WordPress, adds some new features and updates it to be able to work with the newest version of WordPress(3.8.1).', $domain); ?>
SQLite Web Page says — SQLite is a "software library that implements selfcontained, serverless, zero-configuration, transactional SQL database engine". It is "a good choice for small to medium size websites". It\'s small and portable, and you don\'t need any database server system.', $domain); ?> @@ -66,7 +73,7 @@ class SQLiteIntegrationDocument {
- System Info page. To see more details, please visit the Plugin Page.', $domain), $utils->show_parent());?> + System Info page. To see more details, please visit the Plugin Page.', $domain), $utils->show_parent());?>
- -
-- My recommendation is not to use caching plugins. Even so, if you want a caching plugin, you could try WP Super Cache, which doesn\'t use db.php file. But no warranty, try at your own risk.', $domain);?> -
-- -
- -- -
-- -
--$postRes = mysql_query($sql,$wpdb->dbh); --
- -
--if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) { --
- -
-- -
--$postRes = $wpdb->query($sql); --
-if ( version_compare($wpdb->db_version(), '4.1.0', '>=') ) { --
- -
- -- -
-- WordPress Related Posts or Related Posts or others. They are working fine with SQLite Integration!', $domain);?> -
-
* array( table name => array( index name ( column name )))
+ *
* for each table in the database
+ *
* @return array
+ * @access private
*/
private function get_tables_info() {
global $wpdb;
@@ -116,8 +151,12 @@ class SQLiteIntegrationUtils {
return $table_info;
}
/**
- * function to return the autoincremented values of each table
+ * Method to get the autoincremented values of each table and returns it.
+ *
+ * The data is from sqlite_sequence table.
+ *
* @return assoc array name => sequence, or false
+ * @access private
*/
private function get_sequence() {
global $wpdb;
@@ -133,9 +172,12 @@ class SQLiteIntegrationUtils {
}
}
/**
- * function to return contents of 'wp-content/db.php' file
- * if the file is not existent, returns false.
+ * Method to show the contents of 'wp-content/db.php' file.
+ *
+ * If this file is not existent, shows message and returns false.
+ *
* @return string|boolean
+ * @access private
*/
private function show_db_php() {
if (defined('WP_CONTENT_DIR')) {
@@ -156,9 +198,11 @@ class SQLiteIntegrationUtils {
}
}
/**
- * function to get the textarea contents and write into db.php file
+ * Method to get the textarea content and write it to db.php file.
+ *
* @param string $contents
* @return boolean
+ * @access private
*/
private function save_db_php($contents) {
if (defined('WP_CONTENT_DIR')) {
@@ -181,9 +225,13 @@ class SQLiteIntegrationUtils {
return true;
}
/**
- * function to optimize database file
- * only to give vacuum command to SQLite
+ * Method to optimize SQLite database.
+ *
+ * This only gives VACUUM command to SQLite database. This query is rewritten in
+ * the query.class.php file.
+ *
* @return boolean
+ * @access private
*/
private function optimize_db() {
global $wpdb;
@@ -191,8 +239,10 @@ class SQLiteIntegrationUtils {
return $result;
}
/**
- * function to get SQLite database file size
+ * Method to get SQLite database file size.
+ *
* @return string
+ * @access private
*/
private function get_database_size() {
$db_file = FQDB;
@@ -203,9 +253,11 @@ class SQLiteIntegrationUtils {
}
}
/**
- * function to format file size to unit byte
+ * Method to format the file size number to the unit byte.
+ *
* @param integer $size
* @return string
+ * @access private
*/
private function convert_to_formatted_number($size) {
$unim = array('Bytes', 'KB', 'MB', 'GB', 'TB', 'PB');
@@ -218,7 +270,10 @@ class SQLiteIntegrationUtils {
}
/**
- * function to echo plugins info table component
+ * Method to echo plugins info table component.
+ *
+ * @return nothing returned.
+ * @access private
*/
private function show_plugins_info() {
$domain = $this->text_domain;
@@ -279,9 +334,11 @@ class SQLiteIntegrationUtils {
}
/**
- * function to return output of phpinfo() as an array
- * See PHP Manual
+ * Method to return output of phpinfo() as an array.
+ *
+ * @See PHP Manual
* @return array
+ * @access private
*/
private function parse_php_modules() {
ob_start();
@@ -313,9 +370,11 @@ class SQLiteIntegrationUtils {
return $modules;
}
/**
- * function to echo PHP module info
+ * Method to echo PHP module info.
+ *
* @param string $module_name
* @param string $setting_name
+ * @access private
*/
private function get_module_setting($module_name, $setting_name) {
$module_info = $this->parse_php_modules();
@@ -330,7 +389,10 @@ class SQLiteIntegrationUtils {
}
/**
- * function to parse FQDBDIR and return backup database files
+ * Method to parse FQDBDIR and return backup database files.
+ *
+ * @return nothing returned.
+ * @access private
*/
private function get_backup_files() {
$db_name = basename(FQDB);
@@ -348,7 +410,10 @@ class SQLiteIntegrationUtils {
}
/**
- * function to create backup file
+ * Method to create backup database file.
+ *
+ * @return string array
+ * @access private
*/
private function backup_db() {
$result = array();
@@ -379,7 +444,12 @@ class SQLiteIntegrationUtils {
}
return $result;
}
-
+ /**
+ * Method to delete backup database file(s).
+ *
+ * @return boolean|string
+ * @access private
+ */
private function delete_backup_db() {
global $utils;
$domain = $utils->text_domain;
@@ -401,7 +471,10 @@ class SQLiteIntegrationUtils {
}
return $results;
}
-
+ /**
+ * Method to show Welcome page.
+ *
+ */
function welcome() {
$domain = $this->text_domain;
if (isset($_GET['page']) && $_GET['page'] == 'sqlite-integration') :?>
@@ -446,12 +519,11 @@ class SQLiteIntegrationUtils {
-
text_domain;
@@ -638,7 +710,8 @@ class SQLiteIntegrationUtils {
}
/**
- * function to show Setting File page
+ * Method to show Setting File page.
+ *
*/
function edit_db_file() {
$domain = $this->text_domain;