]> git.mxchange.org Git - mailer.git/commitdiff
Added cache loader for table 'points_data'
authorRoland Häder <roland@mxchange.org>
Sun, 31 Jul 2011 21:23:48 +0000 (21:23 +0000)
committerRoland Häder <roland@mxchange.org>
Sun, 31 Jul 2011 21:23:48 +0000 (21:23 +0000)
.gitattributes
inc/classes/cachesystem.class.php
inc/loader/load-
inc/loader/load-points_data.php [new file with mode: 0644]

index 6a16f1a65497060675de4ef5fff0e6f188734acf..1e4ed11c7b39c4af7edf3533753bc84fb81b86cf 100644 (file)
@@ -378,6 +378,7 @@ inc/loader/load-extensions.php svneol=native#text/plain
 inc/loader/load-filter.php svneol=native#text/plain
 inc/loader/load-imprint.php svneol=native#text/plain
 inc/loader/load-modules.php svneol=native#text/plain
+inc/loader/load-points_data.php svneol=native#text/plain
 inc/loader/load-refdepths.php svneol=native#text/plain
 inc/loader/load-refsystem.php svneol=native#text/plain
 inc/loader/load-revision.php svneol=native#text/plain
index 7d722b121e489c20177117b568e37b951505054e..71e752b361bd9fcb3a1db3a61a127f7acfe116bc 100644 (file)
@@ -207,6 +207,9 @@ class CacheSystem {
                                } elseif ($this->name == 'imprint') {
                                        // Imprint
                                        $GLOBALS['cache_array']['imprint'][$k][$data['imprint_id']] = $v;
+                               } elseif ($this->name == 'points_data') {
+                                       // Table 'points_data'
+                                       $GLOBALS['cache_array']['points_data'][$k][$data['id']] = $v;
                                } elseif (is_array($v)) {
                                        // Serialize and BASE64-encode the array
                                        $v = base64_encode(serialize($v));
index da52c77498a3f3e2e956af5c9a1b1b7dee5470a4..c66bde252d2ca4f58d781593cab571b363508296 100644 (file)
@@ -52,7 +52,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('foo')) && ($GLOBALS['cache_insta
        $GLOBALS['cache_instance']->init();
 
        // Load every data from DB to cache file
-       $add = runFilterChain('sql_admin_extra_data');
+       //$add = runFilterChain('sql_admin_extra_data');
 
        // Query the database about this
        $result = SQL_QUERY('SELECT * FROM `{?_MYSQL_PREFIX?}_foos` ORDER BY `some_bar` ASC', __FILE__, __LINE__);
diff --git a/inc/loader/load-points_data.php b/inc/loader/load-points_data.php
new file mode 100644 (file)
index 0000000..ed77359
--- /dev/null
@@ -0,0 +1,89 @@
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL                                Start: 07/31/2011 *
+ * ===================                          Last change: 07/31/2011 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : load-points_data.php                             *
+ * -------------------------------------------------------------------- *
+ * Short description : Load more cache files                            *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Mehr Cache-Dateien nachladen                     *
+ * -------------------------------------------------------------------- *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+       die();
+} elseif (isInstallationPhase()) {
+       // Use this code if you don't want to run this cache loader on installation phase
+       return;
+}
+
+// Let's start with the admins table...
+if (($GLOBALS['cache_instance']->loadCacheFile('points_data')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
+       // Load cache
+       $GLOBALS['cache_array']['points_data'] = $GLOBALS['cache_instance']->getArrayFromCache();
+
+       // Init temporary array
+       $pointsData = array();
+
+       // Rewrite all to subject
+       foreach ($GLOBALS['cache_array']['points_data']['subject'] as $key=>$subject) {
+               // Re-add key with subject
+               foreach ($GLOBALS['cache_array']['points_data'] as $key2=>$array) {
+                       // Is key2 not 'subject'?
+                       if ($key2 != 'subject') {
+                               // Then Add it
+                               $pointsData[$subject][$key2] = $GLOBALS['cache_array']['points_data'][$key2][$key];
+                       } // END - if
+               } // END - foreach
+       } // END - foreach
+
+       // Set the array back and remove temporary
+       $GLOBALS['cache_array']['points_data'] = $pointsData;
+       unset($pointsData);
+} elseif (isHtmlOutputMode()) {
+       // Create cache file
+       $GLOBALS['cache_instance']->init();
+
+       // Query the database about this
+       $result = SQL_QUERY('SELECT * FROM `{?_MYSQL_PREFIX?}_points_data` ORDER BY `id` ASC', __FILE__, __LINE__);
+       while ($dummy = SQL_FETCHARRAY($result)) {
+               // Save row
+               $GLOBALS['cache_instance']->addRow($dummy);
+       } // END - while
+
+       // Free memory
+       SQL_FREERESULT($result);
+
+       // Close cache
+       $GLOBALS['cache_instance']->storeExtensionVersion('sql_patches');
+       $GLOBALS['cache_instance']->finalize();
+}
+
+// [EOF]
+?>