News:

Please note these forums are mostly a testing ground for my SMF work and I don't really use them otherwise.

Main Menu

Paste-1224874049:v:use_geshi-1:v:type-php

Started by SleePy, Oct 24, 2008, 06:47 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

SleePy

<?php

$contents = '
/******************************************************************************/
--- Preparing for categories conversion...
/******************************************************************************/

TRUNCATE {$to_prefix}categories;

---{
// Add a tempID column.
$knownKeys = array();
$knownColumns = array(
   \'tempID\' => "ADD COLUMN tempID mediumint(8) NOT NULL default 0",
   \'tempID2\' => "ADD COLUMN tempID mediumint(8) NOT NULL default 0",
   \'tempID3\' => "ADD COLUMN tempID mediumint(8) NOT NULL default 0"
);
alterTable(\'categories\', $knownKeys, $knownColumns);
';

// Find all arrays.
preg_match_all('/^\s*\$(\S+)\s*=\s*(array\(.*?\);)/ms', $contents, $matches);

// Loop through our matches.
foreach ($matches[2] as $key => $data)
{
   // Get the keys and values of those arrays.
   preg_match("~'([a-zA-Z0-9]+)' => \"(.+?)\"(,)~", $data, $line);

   // The variable name.
   $variable = $matches[1][$key];

   // Empty array? Just forget it.
   if (empty($line[0]))
      continue;
   $string = strtolower($line[0]);

   // If it is for known columns, we do something different.
   if ($variable == 'knownColumns')
   {
      // Bring out the value.
      preg_match('~"([add|edit|drop]+ column)\s([a-zA-Z0-9]+)\s([a-zA-Z0-9]+)\((\d)\)+\s(not null|null)\s(default ([\d|\s\"\']+))"~', $string, $values);

      $result[$variable][$key] = array(
         'key' => $key,
         'variable' => $variable,
         'action' => trim($values[1]),
         'name' => trim($values[2]),
         'type' => trim($values[3]),
         'size' => trim($values[4]),
         'not_null' => trim($values[5]) == 'not null' ? true : false,
         'default' => strpos(trim($values[6]), 'default') !== false ? trim($values[7]) : null,
      );
   }
   // For this we will do different things.
   elseif ($variable == 'knownKeys')
   {
   
   }
}


$shouldbe = "
/******************************************************************************/
--- Preparing for categories conversion...
/******************************************************************************/

TRUNCATE {\$to_prefix}categories;

---{
// Add a temp_id column.
alterDatabase('categories', 'add column', array(
   'name' => 'temp_id',
   'type' => 'mediumint',
   'size' => 8,
   'default' => 0));
---}

";
?>
No siggy! :D