]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions-functions.php
Added listing of sub id enhanced referral links in member area + used sub id in refer...
[mailer.git] / inc / extensions-functions.php
index dc6b67f9b4df11df30ca0907968dca731da54d43..ca7717c09105e0c5cf1fdd59bc823fff5a352e07 100644 (file)
@@ -125,7 +125,7 @@ function loadExtension ($ext_name, $ext_mode, $ext_ver = '0.0.0', $isDryRun = fa
                loadLanguageFile($ext_name);
        } // END - if
 
-       // Do we have cache?
+       // Is there cache?
        if (isExtensionFunctionFileReadable($ext_name)) {
                // Not yet loaded?
                if ((($GLOBALS['cache_array']['extension']['ext_func'][$ext_name] == 'Y') || (!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name]))) && (!isExtensionLibraryLoaded($ext_name))) {
@@ -364,7 +364,7 @@ function registerExtension ($ext_name, $taskId, $isDryRun = false, $ignoreUpdate
                                if (isExtensionInstalledAndNewer('sql_patches', '0.0.6')) {
                                        // New way, with CSS
                                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ',always_active=' . getThisExtensionAlwaysActive() . ', ext_ver=' . getCurrentExtensionVersion() . 'ext_css=' . getExtensionHasCss());
-                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`,`ext_active`,`ext_version`,`ext_has_css`) VALUES ('%s','%s','%s','%s')",
+                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`, `ext_active`, `ext_version`, `ext_has_css`) VALUES ('%s','%s','%s','%s')",
                                                array(
                                                        getCurrentExtensionName(),
                                                        getThisExtensionAlwaysActive(),
@@ -374,7 +374,7 @@ function registerExtension ($ext_name, $taskId, $isDryRun = false, $ignoreUpdate
                                } else {
                                        // Old way, no CSS
                                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . getCurrentExtensionName() . ',always_active=' . getThisExtensionAlwaysActive() . ', ext_ver=' . getCurrentExtensionVersion());
-                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`,`ext_active`,`ext_version`) VALUES ('%s','%s','%s')",
+                                       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_extensions` (`ext_name`, `ext_active`, `ext_version`) VALUES ('%s','%s','%s')",
                                                array(
                                                        getCurrentExtensionName(),
                                                        getThisExtensionAlwaysActive(),
@@ -474,7 +474,7 @@ function doExtensionSqls ($ext_id, $load_mode) {
        // Debug message
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQLs::count=' . countSqls());
 
-       // Do we have entries?
+       // Are there entries?
        if (isSqlsValid()) {
                // Run SQL commands...
                runFilterChain('run_sqls');
@@ -529,7 +529,7 @@ function isExtensionInstalled ($ext_name) {
                // Look in database
                $ext_id = getExtensionId($ext_name);
 
-               // Do we have a record?
+               // Is there a record?
                $isInstalled = ($ext_id > 0);
 
                // Log debug message
@@ -793,9 +793,9 @@ function addExtensionVerboseSqlTable ($title = '{--ADMIN_SQLS_EXECUTED_ON_REMOVA
        // Init variables
        $OUT = '';
 
-       // Do we have queries?
+       // Is there queries?
        if (isVerboseSqlEnabled()) {
-               // Do we have entries?
+               // Are there entries?
                if (countExtensionSqls() > 0) {
                        // Init counter
                        $idx = 0;
@@ -883,7 +883,7 @@ function getExtensionId ($ext_name) {
        // Init id number
        $data['ext_id'] = '0';
 
-       // Do we have cache?
+       // Is there cache?
        if (isset($GLOBALS['cache_array']['extension']['ext_id'][$ext_name])) {
                // Load from cache
                $data['ext_id'] = $GLOBALS['cache_array']['extension']['ext_id'][$ext_name];
@@ -914,7 +914,7 @@ function getExtensionId ($ext_name) {
 
 // Determines whether the given extension name is valid
 function isExtensionNameValid ($ext_name) {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS['ext_name_valid'][$ext_name])) {
                // Generate include file name
                $INC = sprintf("inc/extensions/ext-%s.php", $ext_name);
@@ -1655,7 +1655,7 @@ function FILTER_INIT_EXTENSIONS () {
        // Init notification pool
        initIncludePool('notify');
 
-       // Do we have some entries?
+       // Are there some entries?
        if (isset($GLOBALS['cache_array']['extension']['ext_name'])) {
                // Load all found extensions if found
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'CACHE - START!');
@@ -1746,7 +1746,7 @@ function removeExtensionFromArray () {
 
 // "Getter" for 'extension has a CSS file' (with same name, of course)
 function getExtensionHasCss () {
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__][getCurrentExtensionName()][getCurrentTheme()])) {
                // Construct FQFN for check
                $FQFN = sprintf("%stheme/%s/css/%s.css",
@@ -1765,7 +1765,7 @@ function getExtensionHasCss () {
 
 // Checks whether the given extension has a language file
 function ifExtensionHasLanguageFile ($ext_name) {
-       // Do we have cache?
+       // Is there cache?
        if (isset($GLOBALS['cache_array']['extension']['ext_lang'][$ext_name])) {
                // Count cache hits
                incrementStatsEntry('cache_hits');
@@ -1888,7 +1888,7 @@ function addAdminMenuSql ($action, $what, $title, $descr, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('%s',NULL,'%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`, `what`, `title`, `descr`, `sort`) VALUES ('%s',NULL,'%s','%s',%s)",
                                $action,
                                $title,
                                $descr,
@@ -1896,7 +1896,7 @@ function addAdminMenuSql ($action, $what, $title, $descr, $sort) {
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('%s','%s','%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`, `what`, `title`, `descr`, `sort`) VALUES ('%s','%s','%s','%s',%s)",
                                $action,
                                $what,
                                $title,
@@ -1920,14 +1920,14 @@ function addGuestMenuSql ($action, $what, $title, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
                                $action,
                                $title,
                                bigintval($sort)
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s','%s','%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s','%s','%s','N','Y',%s)",
                                $action,
                                $what,
                                $title,
@@ -1950,14 +1950,14 @@ function addMemberMenuSql ($action, $what, $title, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s',NULL,'%s','N','Y',%s)",
                                $action,
                                $title,
                                bigintval($sort)
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('%s','%s','%s','N','Y',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`, `what`, `title`, `visible`, `locked`, `sort`) VALUES ('%s','%s','%s','N','Y',%s)",
                                $action,
                                $what,
                                $title,
@@ -1980,7 +1980,7 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) {
                // Is what null?
                if (is_null($what)) {
                        // Add main menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES ('%s',NULL,'%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`, `what`, `title`, `active`, `sort`) VALUES ('%s',NULL,'%s','%s',%s)",
                                $action,
                                $title,
                                $active,
@@ -1988,7 +1988,7 @@ function addSponsorMenuSql ($action, $what, $title, $active, $sort) {
                        );
                } else {
                        // Add sub menu
-                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES ('%s','%s','%s','%s',%s)",
+                       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`, `what`, `title`, `active`, `sort`) VALUES ('%s','%s','%s','%s',%s)",
                                $action,
                                $what,
                                $title,
@@ -2035,6 +2035,62 @@ function addConfigChangeSql ($oldColumnName, $newColumnName, $columnSql) {
        addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `' . $oldColumnName . '` `' . $newColumnName . '` ' . $columnSql);
 }
 
+/**
+ * Checks if given subject is found and if not, adds an SQL query to the
+ * extension registration queue.
+ */
+function registerExtensionPointsData ($subject, $columnName, $lockedMode, $paymentMethod) {
+       // Default is old extension version
+       $add = '';
+
+       // Is the extension equal or newer 0.8.9?
+       if (((isInstallationPhase()) && ((getExtensionMode() == 'register') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+               // Then add provider
+               $add = " AND `account_provider`='EXTENSION'";
+       } // END - if
+
+       // Is the 'subject' there?
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ifSqlTableExists(points_data)=' . ifSqlTableExists('points_data') . ',getExtensionMode()=' . getExtensionMode() . ',add=' . $add);
+       if (((!ifSqlTableExists('points_data')) && ((getExtensionMode() == 'register') || (getExtensionMode() == 'update'))) || (countSumTotalData($subject, 'points_data', 'id', 'subject', true, $add) == 0)) {
+               // Not found so:
+               if ((isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) && (!ifSqlTableExists('points_data'))) {
+                       $dummy = $GLOBALS['previous_extension'][getCurrentExtensionName()];
+                       reportBug(__FUNCTION__, __LINE__, 'previous_extension[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
+               } // END - if
+
+               // ... add an SQL query
+               addExtensionSql(sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`) VALUES ('%s','%s','%s','%s')",
+                       $subject,
+                       $columnName,
+                       $lockedMode,
+                       $paymentMethod
+               ));
+       } // END - if
+}
+
+/**
+ * Checks if given subject is found and if so, adds an SQL query to the
+ * extension unregistration queue.
+ */
+function unregisterExtensionPointsData ($subject) {
+       // Default is old extension version
+       $add = '';
+
+       // Is the extension equal or newer 0.8.9?
+       if (isExtensionInstalledAndNewer('sql_patches', '0.8.9')) {
+               // Then add provider
+               $add = " AND `account_provider`='EXTENSION'";
+       } // END - if
+
+       // Is the 'subject' there?
+       if (countSumTotalData($subject, 'points_data', 'id', 'subject', true, $add) == 1) {
+               // Found one or more, so add an SQL query
+               addExtensionSql(sprintf("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_points_data` WHERE `subject`='%s'" . $add . " LIMIT 1",
+                       $subject
+               ));
+       } // END - if
+}
+
 // Enables/disables productive mode for current extension (used only while
 // registration).
 // @TODO This should be rewrittten to allow, more development states, e.g. 'planing','alpha','beta','beta2','stable'
@@ -2056,7 +2112,7 @@ function isExtensionProductive ($ext_name = '') {
        } // END - if
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ext_name=' . $ext_name . ' - ENTERED!');
 
-       // Do we have cache?
+       // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__][$ext_name])) {
                // Load extension only if not yet loaded
                if (!isset($GLOBALS['ext_productive'][$ext_name])) {