Yaffs site version 1.1
[yaffs-website] / vendor / gabordemooij / redbean / deepfreeze.php
diff --git a/vendor/gabordemooij/redbean/deepfreeze.php b/vendor/gabordemooij/redbean/deepfreeze.php
new file mode 100644 (file)
index 0000000..36b2ad4
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Strips out all fluid functions (experimental)
+ */
+$functions = array(
+       'addFK','addIndex','addUniqueConstraint','createTable',
+       'widenColumn','buildFK','addColumn','wipeAll'
+);
+$code = file_get_contents('rb.php');
+$functionDefs = array();
+foreach($functions as $function) {
+       $functionDefs[] = "public function $function";
+       $functionDefs[] = "private function $function";
+       $functionDefs[] = "protected function $function";
+       $functionDefs[] = "public static function $function";
+       $functionDefs[] = "private static function $function";
+       $functionDefs[] = "protected static function $function";
+}
+$functionDefs[] = 'class Fluid extends Repository';
+foreach( $functionDefs as $function ) {
+       while( strpos( $code, $function ) !== FALSE ) {
+               $begin = strpos( $code, $function );
+               $pointer = $begin;
+               $char = '';
+               while( $char !== '{'  && $char !== ';' ) {
+                       echo $char;
+                       $char = substr( $code, $pointer, 1);
+                       $pointer ++;
+               }
+               if ($char === ';') {
+                       $code = substr( $code, 0, $begin-1 ) . substr( $code, $pointer );
+                       continue;
+               }
+               if ($char === '{') {
+                       $nesting = 1;
+                       $pointer ++;
+                       $beginOfFunction = $pointer;
+                       while( !( $char === '}' && $nesting === 0 ) ) {
+                               $char = substr( $code, $pointer, 1);
+                               if ($char === '{') {  $nesting ++; echo "($nesting)"; }
+                               if ($char === '}') { $nesting --; echo "($nesting)"; }
+                               $pointer ++;
+                       }
+                       $code = substr( $code, 0, $begin-1 ) . substr( $code, $pointer );
+                       continue;               
+               }
+       }
+}
+file_put_contents('rbf.php', $code);