6 find . | grep php | awk '{ print "php admin.php Core/Process/FixCode -f " $1 }' | sh
9 require_once 'Pman.php';
11 class Pman_Core_Process_FixCode extends Pman
13 static $cli_desc = "Coverts old code using replacements";
15 static $cli_opts = array(
17 'desc' => 'File to process',
27 $ff = HTML_FlexyFramework::get();
36 var $factory_map = array(
38 'Person' =>'core_person' ,
39 'Companies'=>'core_company' ,
40 'group_members'=>'core_group_member' ,
41 'group_rights'=>'core_group_right' ,
42 'Groups'=>'core_group' ,
43 'Office'=>'core_office' ,
44 'Projects'=>'core_project' ,
46 // timesheet project..
47 'STAFF' => 'core_person',
48 'timesheet' => 'timesheet_week',
49 'activity' => 'timesheet_activity',
50 'timesheetapprovals' => 'timesheet_week',
51 'projectleaders' => 'timesheet_project_leader',
52 'userprojects' => 'timesheet_user_project',
58 function get($p,$opts=array())
60 $file = realpath($opts['file']);
61 if (!file_exists($file) || !is_writable($file)) {
62 echo "$file: NOT readable or writable\n";
66 $c = file_get_contents($file);
68 if (strpos($c, '<?php') === false) {
69 echo "$file: NOT PHP\n";
72 foreach($this->factory_map as $from=>$to) {
74 $c = preg_replace("/DB_DataObject::factory\((\s{0,}['\"]" . $from . "['\"]\s{0,})\)/i", "DB_DataObject::factory('{$to}')", $c);
76 // $c = str_ireplace("DB_DataObject::factory('$from')","DB_DataObject::factory('$to')", $c);
77 // $c = str_ireplace("DB_DataObject::factory(\"$from\")","DB_DataObject::factory('$to')", $c);
81 echo "$file: SKIP NO CHANGES\n";
84 echo "$file: WRITE NEW FILE\n";
85 file_put_contents($file,$c);