]> git.mxchange.org Git - mailer.git/blobdiff - inc/sql-functions.php
Heacy rewrite/cleanup:
[mailer.git] / inc / sql-functions.php
index eab241370e0969f6023fc2cf4dff69ad38f2762c..362e5d53cda28a6aeea9006d49ef57140d0378a9 100644 (file)
@@ -69,7 +69,7 @@ function getSqls () {
 
 // Add an SQL to the list
 function addSql ($sql) {
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("sql=%s, count=%d", $sql, countSqls()));
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('sql=%s, count=%d', $sql, countSqls()));
        array_push($GLOBALS['sqls']['generic'], $sql);
 }
 
@@ -106,7 +106,7 @@ function countSqls () {
        if (isSqlsInitialized()) {
                // Then count it
                $count = count($GLOBALS['sqls']);
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("count=%d", $count));
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('count=%d', $count));
        } // END - if
 
        // Return it
@@ -233,9 +233,6 @@ function initSqlLink () {
        // "Unset" the link
        unsetSqlLinkUp(__FUNCTION__, __LINE__);
 
-       // Do this only if link is down
-       assert(!isSqlLinkUp());
-
        // Is the configuration data set?
        if ((!empty($GLOBALS['mysql']['host'])) && (!empty($GLOBALS['mysql']['login'])) && (!empty($GLOBALS['mysql']['dbase']))) {
                // Remove cache
@@ -281,7 +278,7 @@ function importSqlDump ($path, $dumpName, $sqlPool) {
        // Is the file readable?
        if (!isFileReadable($FQFN)) {
                // Not found, which is bad
-               reportBug(__FUNCTION__, __LINE__, sprintf("SQL dump %s/%s.sql is not readable.", $path, $dumpName));
+               reportBug(__FUNCTION__, __LINE__, sprintf('SQL dump %s/%s.sql is not readable.', $path, $dumpName));
        } // END - if
 
        // Then read it
@@ -327,7 +324,7 @@ function getSqlResultFromArray ($table, $columns, $idRow, $id, $file, $line) {
        // Is columns an array?
        if (!is_array($columns)) {
                // No array
-               reportBug(__FUNCTION__, __LINE__, sprintf("columns is not an array. %s != array, file=%s, line=%s",
+               reportBug(__FUNCTION__, __LINE__, sprintf('columns is not an array. %s != array, file=%s, line=%s',
                        gettype($columns),
                        basename($file),
                        $line
@@ -430,7 +427,7 @@ function sqlQueryAlterTable ($sql, $file, $line, $enableCodes = TRUE) {
                } // END - foreach
        } elseif ((getTableType() == 'InnoDB') && (isInString('FULLTEXT', $sql))) {
                // Skip this query silently because InnoDB does not understand fulltext indexes
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Skipped FULLTEXT: sql=%s,tableName=%s,hasZeroNums=%d,file=%s,line=%s", $sql, $tableName, intval((is_bool($result)) ? 0 : ifSqlTableColumnExists($columnName)), $file, $line));
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Skipped FULLTEXT: sql=%s,tableName=%s,hasZeroNums=%d,file=%s,line=%s', $sql, $tableName, intval((is_bool($result)) ? 0 : ifSqlTableColumnExists($columnName)), $file, $line));
        } elseif ($isAlterIndex === TRUE) {
                // And column name as well without backticks
                $keyName = str_replace('`', '', $tableArray[5]);
@@ -498,16 +495,15 @@ function getSqlLink () {
 }
 
 // Setter for link
+// Do *not* add debug lines here. This will cause and endless loop
 function setSqlLink ($file, $line, $link) {
-       //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, 'link[]=' . gettype($link) . ' - ENTERED!');
        // Is this a resource or null?
-       if ((ifFatalErrorsDetected()) && (isInstallationPhase())) {
+       if ((ifFatalErrorsDetected()) && (isInstaller())) {
                // This may happen in installation phase
-               //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, 'Some fatal errors detected in installation phase.');
                return;
        } elseif ((!is_resource($link)) && (!is_null($link))) {
                // This should never happen!
-               reportBug($file . ':' . __FUNCTION__, $line . ':' . __LINE__, sprintf("Type of link is not resource or null, type=%s", gettype($link)));
+               reportBug($file . ':' . __FUNCTION__, $line . ':' . __LINE__, sprintf('Type of link is not resource or null, type=%s', gettype($link)));
        } // END - if
 
        // Set it
@@ -515,7 +511,6 @@ function setSqlLink ($file, $line, $link) {
 
        // Re-init cache
        $GLOBALS['__is_sql_link_up'] = is_resource($link);
-       //* DEBUG: */ logDebugMessage($file . ':' . __FUNCTION__, $line . ':' . __LINE__, '__is_sql_link_up=' . intval($GLOBALS['__is_sql_link_up']) . ' - EXIT!');
 }
 
 // Checks if the link is up
@@ -523,7 +518,7 @@ function isSqlLinkUp () {
        // Is there cached this?
        if (!isset($GLOBALS['__is_sql_link_up'])) {
                // Something bad went wrong
-               reportBug(__FUNCTION__, __LINE__, 'Called before SQL_SET_LINK() was called!');
+               reportBug(__FUNCTION__, __LINE__, 'Called before setSqlLink() was called!');
        } // END - if
 
        // Return the result
@@ -592,7 +587,7 @@ function ifSqlTableExists ($tableName) {
                // Is a link there?
                if (!is_resource($result)) {
                        // Is installation phase?
-                       if (isInstallationPhase()) {
+                       if (isInstaller()) {
                                // Then silently abort here
                                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ' - Returning FALSE ...');
                                return FALSE;
@@ -624,7 +619,7 @@ function ifSqlTableColumnExists ($tableName, $columnName, $forceFound = FALSE) {
        if (!ifSqlTableExists($tableName)) {
                // Then abort here
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Table ' . $tableName . ' does not exist, columnName=' . $columnName . ',forceFound=' . intval($forceFound));
-               return (($forceFound === FALSE) && (isInstallationPhase()));
+               return (($forceFound === FALSE) && (isInstaller()));
        } // END - if
 
        // Get column information
@@ -637,7 +632,7 @@ function ifSqlTableColumnExists ($tableName, $columnName, $forceFound = FALSE) {
        // Is a link there?
        if (!is_resource($result)) {
                // Is installation phase?
-               if (isInstallationPhase()) {
+               if (isInstaller()) {
                        // Then silently abort here
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ',columnName=' . $columnName . ' - Returning FALSE ...');
                        return $forceFound;
@@ -670,7 +665,7 @@ function ifSqlTableIndexExist ($tableName, $keyName, $forceFound = FALSE) {
        if (!ifSqlTableExists($tableName)) {
                // Then abort here
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Table ' . $tableName . ' does not exist, keyName=' . $keyName . ',forceFound=' . intval($forceFound));
-               return (($forceFound === FALSE) && (isInstallationPhase()));
+               return (($forceFound === FALSE) && (isInstaller()));
        } // END - if
 
        // Show indexes
@@ -679,7 +674,7 @@ function ifSqlTableIndexExist ($tableName, $keyName, $forceFound = FALSE) {
        // Is a link there?
        if (!is_resource($result)) {
                // Is installation phase?
-               if (isInstallationPhase()) {
+               if (isInstaller()) {
                        // Then silently abort here
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'result[]=' . gettype($result) . ',isLinkUp=' . intval(isSqlLinkUp()) . ',tableName=' . $tableName . ',keyName=' . $keyName . ' - Returning FALSE ...');
                        return $forceFound;
@@ -757,5 +752,30 @@ function getArrayFromSupportedSqlEngines ($requestedEngine = 'ALL') {
        return $engines;
 }
 
+// "Getter" for result from given table and field/type LIKEs
+function sqlGetResultFromLikeColumnsType ($tableName, $field, $type) {
+       // The table should be there
+       assert(ifSqlTableExists($tableName));
+
+       // Default no field set
+       $fieldSql = '';
+       if (!empty($field)) {
+               // Then use it
+               $fieldSql = "`Field` LIKE '" . $field . "' AND";
+       } // END - if
+
+       // Show them
+       return sqlQueryEscaped("SHOW COLUMNS FROM
+       `{?_MYSQL_PREFIX?}_%s`
+WHERE
+       " . $fieldSql . "
+       `Type` LIKE '%s%%'",
+               array(
+                       $tableName,
+                       $type
+               ), __FUNCTION__, __LINE__
+       );
+}
+
 // [EOF]
 ?>