Changeset 14798

Show
Ignore:
Timestamp:
02/07/08 20:36:26 (10 months ago)
Author:
rambo
Message:

script to normalize white space in midgard pages, page-elements and style-elements in given sitegroup

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.core/support/normalize_midgard_whitespace.php

    r14795 r14798  
    33error_reporting(E_ALL); 
    44require_once('normalize_whitespace_normalizer.php'); 
    5 if ($argc < 2
     5if ($argc < 4
    66{ 
    77    $name = basename($argv[0]); 
    8     echo "\nUsage: {$name} <files_list>\n"; 
     8    echo "\nUsage: {$name} <configfile> <username> <password>\n"; 
    99    echo "  For example:\n"; 
    10     echo "  {$name} `find ~/svn/midcom/ -name '*.php'` \n\n"; 
     10    echo "  {$name} midgard_sgx 'sgadmin+sgname' 'adminpasswd' \n\n"; 
     11    echo "(you need to specify the MidgardUser and MidgardPassword\n in the midgard_sgx config file)\n\n"; 
    1112    exit(1); 
    1213} 
    13 $files = array_slice($argv, 1); 
    14  
    15 if (!function_exists('file_put_contents')) 
     14$conffile =& $argv[1]; 
     15$username =& $argv[2]; 
     16$password =& $argv[3]; 
     17if (!mgd_config_init($conffile)) 
    1618{ 
    17     function file_put_contents($file, &$data) 
    18     { 
    19         $fp = fopen($file, 'w'); 
    20         if (!$fp) 
    21         { 
    22             return false; 
    23         } 
    24         $ret = fwrite($fp, $data); 
    25         fclose($fp); 
    26         return $ret; 
    27     } 
     19    echo "\nInitialization failed\n\n"; 
     20    exit(1); 
     21
     22mgd_auth_midgard($username, $password); 
     23if (!$_MIDGARD['user']) 
     24
     25    echo "\nAuthentication failed\n\n"; 
     26    exit(1); 
     27
     28if ($_MIDGARD['sitegroup'] === 0) 
     29
     30    echo "\nSG0 usage not supported\n\n"; 
     31    exit(1); 
    2832} 
    2933 
    3034$normalizer = new midcom_support_wsnormalizer(); 
    31 foreach ($files as $file) 
     35 
     36// Pages (PONDER: handle Multilang ??) 
     37$qb = new midgard_query_builder('midgard_page'); 
     38$qb->add_constraint('sitegroup', '=', $_MIDGARD['sitegroup']); 
     39$pages = $qb->execute(); 
     40unset($qb); 
     41foreach ($pages as $page) 
    3242{ 
    33     $data = file_get_contents($file); 
    34     $normalized = $normalizer->normalize($data); 
    35     if ($data === $normalized) 
     43    $normalized = $normalizer->normalize($page->content); 
     44    if ($normalized === $page->content) 
    3645    { 
    37         unset($data, $normalized); 
     46        unset($normalized, $page); 
    3847        continue; 
    3948    } 
    40     file_put_contents($file, $normalized); 
    41     unset($data, $normalized); 
     49    $page->content = $normalized; 
     50    unset($normalized); 
     51    if (!$page->update()) 
     52    { 
     53        echo " Failed to update page #{$page->id} ({$page->name}), " . mgd_errstr() . "\n"; 
     54        unset($page); 
     55        continue; 
     56    } 
     57    //echo "DEBUG: updated page #{$page->id} ({$page->name}), " . mgd_errstr() . "\n"; 
     58    unset($page); 
    4259} 
     60unset($pages); 
     61 
     62// Page-elements (PONDER: handle Multilang ??) 
     63$qb = new midgard_query_builder('midgard_pageelement'); 
     64$qb->add_constraint('sitegroup', '=', $_MIDGARD['sitegroup']); 
     65$pageelements = $qb->execute(); 
     66unset($qb); 
     67foreach ($pageelements as $pageelement) 
     68{ 
     69    $normalized = $normalizer->normalize($pageelement->value); 
     70    if ($normalized === $pageelement->value) 
     71    { 
     72        unset($normalized, $pageelement); 
     73        continue; 
     74    } 
     75    $pageelement->value = $normalized; 
     76    unset($normalized); 
     77    if (!$pageelement->update()) 
     78    { 
     79        echo " Failed to update page-element #{$pageelement->id} ({$pageelement->name}), " . mgd_errstr() . "\n"; 
     80        unset($pageelement); 
     81        continue; 
     82    } 
     83    //echo "DEBUG: updated page-element #{$pageelement->id} ({$pageelement->name}), " . mgd_errstr() . "\n"; 
     84    unset($pageelement); 
     85} 
     86unset($pageelements); 
     87 
     88// (Style) elements (PONDER: handle Multilang ??) 
     89$qb = new midgard_query_builder('midgard_element'); 
     90$qb->add_constraint('sitegroup', '=', $_MIDGARD['sitegroup']); 
     91$elements = $qb->execute(); 
     92unset($qb); 
     93foreach ($elements as $element) 
     94{ 
     95    $normalized = $normalizer->normalize($element->value); 
     96    if ($normalized === $element->value) 
     97    { 
     98        unset($normalized, $element); 
     99        continue; 
     100    } 
     101    $element->value = $normalized; 
     102    unset($normalized); 
     103    if (!$element->update()) 
     104    { 
     105        echo " Failed to update style-element #{$element->id} ({$element->name}), " . mgd_errstr() . "\n"; 
     106        unset($element); 
     107        continue; 
     108    } 
     109    //echo "DEBUG: updated style-element #{$element->id} ({$element->name}), " . mgd_errstr() . "\n"; 
     110    unset($element); 
     111} 
     112unset($elements); 
     113 
     114 
    43115 
    44116?>