[ PHPXref.com ] [ Generated: Sun Jul 20 19:53:39 2008 ] [ PHProjekt 5.0.1 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/projects/ -> err_pro.php (source)

   1  <?php
   2  
   3  // err_pro.php - PHProjekt Version 5.0

   4  // copyright  ©  2000-2005 Albrecht Guenther  ag@phprojekt.com

   5  // www.phprojekt.com

   6  // Author: Albrecht Guenther, $Author: nina $

   7  // $Id: err_pro.php,v 1.13 2005/06/29 21:41:09 nina Exp $

   8  
   9  // check whether the lib has been included - authentication!

  10  if (!defined("lib_included")) die("Please use index.php!");
  11  
  12  
  13  if ($cancel) {
  14      include_once ("./projects_view.php");
  15  }
  16  else if ($upanf) {
  17      $olddate = explode('-',$anfang);
  18      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$diffa, $olddate[0]));
  19      $_POST['anfang'] = $newdate;
  20      $anfang=$newdate;
  21      $_POST['upanf'] = "";
  22      include_once ("./projects_data.php");
  23  }
  24  else if ($upboth) {
  25      $olddate = explode('-',$anfang);
  26      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$diffa, $olddate[0]));
  27      $anfang = $newdate;
  28      $_POST['anfang'] = $newdate;
  29      $olddate = explode('-',$ende);
  30      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$diffe, $olddate[0]));
  31      $ende = $newdate;
  32      $_POST['ende'] = $newdate;
  33      $_POST['upboth'] = "";
  34      include_once ("./projects_data.php");
  35  }
  36  else if ($upende) {
  37      $olddate = explode('-',$ende);
  38      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$diffe, $olddate[0]));
  39      $ende = $newdate;
  40      $_POST['ende'] = $newdate;
  41      $_POST['upende'] = "";
  42      include_once ("./projects_data.php");
  43  }
  44  else if ($downboth) {
  45      move_for($parent,'ende',$diffe);
  46      move_for_down($ID,'ende',$diffe);
  47      move_back($parent,'anfang',$diffa);
  48      move_back_down1($ID,'anfang',$anfang);
  49      $_POST['donwboth'] = "";
  50      include_once ("./projects_data.php");
  51  }
  52  else if ($downanf) {
  53      move_back($parent,'anfang',$diffa);
  54      #move_back_down1($ID,'anfang',$anfang);

  55      $_POST['downanf'] = "";
  56      include_once ("./projects_data.php");
  57  }
  58  else if ($downende) {
  59      move_for($parent,'ende',$diffe);
  60      #move_for_down($ID,'ende',$diffe);

  61      $_POST['downende'] = "";
  62      include_once ("./projects_data.php");
  63  }
  64  else if ($upanf1) {
  65      $olddate = explode('-',$anfang);
  66      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$diffa, $olddate[0]));
  67      $_POST['anfang'] = $newdate;
  68      $anfang=$newdate;
  69      $_POST['upanf1'] = "";
  70      $uproj= $arr_empt;
  71      include_once ("./projects_data.php");
  72  }
  73  else if ($upboth1) {
  74      $olddate = explode('-',$anfang);
  75      $newdate =  date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$diffa, $olddate[0]));
  76      $anfang = $newdate;
  77      $_POST['anfang'] = $newdate;
  78      $olddate = explode('-',$ende);
  79      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$diffe, $olddate[0]));
  80      $ende = $newdate;
  81      $_POST['ende'] = $newdate;
  82      $_POST['upboth1'] = "";
  83      $uproj= $arr_empt;
  84      include_once ("./projects_data.php");
  85  }
  86  else if ($upende1) {
  87      $olddate = explode('-',$ende);
  88      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$diffe, $olddate[0]));
  89      $ende = $newdate;
  90      $uproj= $arr_empt;
  91      $_POST['upende1'] = "";
  92      $_POST['ende'] = $newdate;
  93      include_once ("./projects_data.php");
  94  }
  95  else if ($downboth1) {
  96      //move_back($parent,'ende',$diffe);

  97      move_back_down($ID,'ende',$diffe);
  98      //move_for($parent,'anfang',$diffa);

  99      move_for_down($ID,'anfang',$diffa);
 100      $uproj= $arr_empt;
 101      $_POST['downboth1'] = "";
 102      include_once ("./projects_data.php");
 103  }
 104  else if ($downanf1) {
 105      //move_back($parent,'anfang',$diffa);

 106      move_for_down($ID,'anfang',$diffa);
 107      $uproj= $arr_empt;
 108      $_POST['downanf1'] = "";
 109      include_once ("./projects_data.php");
 110  }
 111  else if ($downende1) {
 112      //move_for($parent,'ende',$diffe);

 113      move_back_down1($ID,'ende',$ende);
 114      $uproj= $arr_empt;
 115      $_POST['downende1'] = "";
 116      include_once ("./projects_data.php");
 117  }
 118  else {
 119      include_once ("./projects_data.php");
 120  }
 121  
 122  
 123  function oerror($parent) {
 124      global $anfang, $ende;
 125  
 126      $ana = $anfang;
 127      $ena = $ende;
 128  
 129      // the project is subproject? check whether the start and end time is within the limits of the parent project

 130      $result2 = db_query("select anfang, ende,ID
 131                             from ".DB_PREFIX."projekte
 132                            where ID = '$parent'") or db_die();
 133      $row2 = db_fetch_row($result2);
 134      // timespan exceeds timespan of parent -> die ...

 135      $anfang    = makeTime($anfang);
 136      $anfangalt = makeTime($row2[0]);
 137      $ende      = makeTime($ende);
 138      $endealt   = makeTime($row2[1]);
 139      if ($anfang < $anfangalt or $ende > $endealt) {
 140          $diffa = $anfangalt-$anfang;
 141          $diffa = floor($diffa/60/60/24);
 142          $diffe = $ende -$endealt;
 143          $diffe = floor($diffe/60/60/24);
 144          echo set_page_header();
 145          //tabs

 146          $tabs = array();
 147          echo get_tabs_area($tabs);
 148          echo' <div class="status_bar">
 149          <span class="status_bar">
 150              '.__('Status').':&nbsp;'.__('A conflict exists with the following parent project:').'  &nbsp; '.
 151          slookup('projekte','name','ID', $parent)." - ".__('Begin').": ".slookup('projekte','anfang','ID', $parent)."
 152             ".__('End').": ".slookup('projekte','ende','ID', $parent).'
 153          </span></div>';
 154          echo "<form name='form' action='projects.php' method='POST'>";
 155          foreach ($_POST as $pk => $pval) {
 156              echo "<input type='hidden' name='$pk' value='$pval' />\n";
 157          }
 158          echo "
 159              <input type='hidden' name='diffa' value='$diffa' />
 160              <input type='hidden' name='diffe' value='$diffe' />
 161              <input type='hidden' name='inclu' value='err_pro.php' />";
 162          echo"<div class='header'>".__('You can choose between the following options:')."</div>";
 163          echo"<div class='formbody_mailops'>";
 164          
 165      
 166           
 167          echo "<ul><li>".__('Discard changes')." ".get_go_button_with_name("cancel")."</li>";
 168          if ($anfang < $anfangalt && $ende > $endealt) {
 169              echo "
 170              <li> ".__('Delay project start for ')." $diffa ".__('days ').__('and').
 171              __('move up the End ')."
 172                 ".$diffe.__(' days')." ".get_go_button_with_name("upboth")."
 173              </li>
 174              <li> ".__('Delay the end of the parent project ')." $diffe ".__('days ').__('and')." ".
 175              __('move up the Beginning ')." ".$diffa .__(' days')." ".get_go_button_with_name("downboth")."
 176               </li>";
 177  
 178          }
 179          else if ($anfang < $anfangalt) {
 180              echo "
 181          <li>".__('Delay project start for ')." $diffa ".__('days ')."
 182          
 183              ".get_go_button_with_name("upanf")."
 184          </li>
 185          <li>".__('move up the Beginning of all affected parent projects ')."$diffa".__(' days')." 
 186          ".get_go_button_with_name("downanf")."
 187          </li>";
 188  
 189          }
 190          else if ($ende > $endealt) {
 191              echo "
 192          <li> ".__('move up the End ')."$diffe".__(' days')." ".get_go_button_with_name("upende")."
 193          </li>
 194           <li> ".__('Delay the end of all affected parent projects ')."$diffe ".__('days ')." 
 195           ".get_go_button_with_name("downende")."
 196            </li>  ";
 197          }
 198          echo "</ul><br /></div></form>\n";
 199          die();
 200      }
 201      $anfang = $ana;
 202      $ende   = $ena;
 203  }
 204  
 205  function uerror($parent) {
 206      global $anfang, $ende;
 207  
 208      $ana = $anfang;
 209      $ena = $ende;
 210      $anfanga = explode('-',$anfang);
 211      $anfang = mktime(0, 0, 0, $anfanga[1], $anfanga[2], $anfanga[0]);
 212      $endea = explode('-',$ende);
 213      $ende = mktime(0, 0, 0, $endea[1], $endea[2], $endea[0]);
 214      foreach ($parent as $kidproj) {
 215          // the project is subproject? check whether the start and end time is within the limits of the parent project

 216          $result2 = db_query("select anfang, ende,ID
 217                                 from ".DB_PREFIX."projekte
 218                                where ID = '$kidproj'") or db_die();
 219          $row2 = db_fetch_row($result2);
 220          // timespan exceeds timespan of parent -> die ...

 221          $anfangb   = explode('-',$row2[0]);
 222          $anfangalt = mktime(0, 0, 0, $anfangb[1], $anfangb[2], $anfangb[0]);
 223          $endeb     = explode('-',$row2[1]);
 224          $endealt   = mktime(0, 0, 0, $endeb[1], $endeb[2], $endeb[0]);
 225          if (($anfang > $anfangalt or $ende < $endealt)&&$kidproj>0) {
 226              $diffa = $anfang-$anfangalt;
 227              $diffa = floor($diffa/60/60/24);
 228              $diffe = $endealt -$ende;
 229              $diffe = floor($diffe/60/60/24);
 230              //tabs

 231          $tabs = array();
 232          echo get_tabs_area($tabs);
 233          echo' <div class="status_bar">
 234          <span class="status_bar">
 235              '.__('Status').':&nbsp;'.__('A conflict exists with the following subproject:').'  &nbsp; '.
 236          slookup('projekte','name','ID', $kidproj)." - ".__('Begin').": ".slookup('projekte','anfang','ID', $kidproj)."
 237             ".__('End').": ".slookup('projekte','ende','ID', $kidproj).'
 238          </span></div>';
 239                  echo"<form name='form' action='projects.php' method='post'>";
 240              foreach($_POST as $pk => $pval){
 241                  echo "<input type='hidden' name='$pk' value='$pval' />\n";
 242              }
 243              echo "
 244                  <input type='hidden' name='diffa' value='$diffa' />
 245                  <input type='hidden' name='diffe' value='$diffe' />
 246                  <input type='hidden' name='inclu' value='err_pro.php' />";
 247                 
 248          echo"<div class='header'>".__('You can choose between the following options:')."</div>";
 249          echo"<div class='formbody_mailops'>";
 250          echo "<ul><li>".__('Discard changes')." ".get_go_button_with_name("cancel")."</li>";       
 251          if ($anfang > $anfangalt && $ende < $endealt) {
 252                echo "
 253              <li> ".__('Delay project start for ')." $diffa ".__('days ').__('and').
 254              __('move up the End ')."
 255                 ".$diffe.__(' days')." ".get_go_button_with_name("upboth1")."
 256              </li>
 257              <li> ".__('Delay the end of the subproject ')." $diffe ".__('days ').__('and')." ".
 258              __('move up the Beginning ')." ".$diffa .__(' days')." ".get_go_button_with_name("downboth1")."
 259               </li>";
 260            }
 261            else if ($anfang > $anfangalt) {
 262                 echo "
 263              <li>".__('Delay project start for ')." $diffa ".__('days ')." 
 264              ".get_go_button_with_name("upanf1")."
 265              </li>
 266              <li>".__('move up the Beginning of all affected subprojects ')."$diffa".__(' days')."
 267               ".get_go_button_with_name("downanf1")."
 268              </li>";    
 269                }
 270            else if ($ende < $endealt) {
 271                echo "
 272                  <li> ".__('move up the End ')."$diffe".__(' days')." ".get_go_button_with_name("upende1")."
 273              </li>
 274               <li> ".__('Delay the end of all affected subprojects ')."$diffe ".__('days ')." 
 275               ".get_go_button_with_name("downende1")."
 276                </li>  ";
 277          }
 278          echo "</ul><br /></div></form>\n";
 279              die();
 280          }
 281      }
 282      $anfang = $ana;
 283      $ende   = $ena;
 284  }
 285  
 286  function move_for($ID, $field, $days, $calculated_newdate = '') {
 287      // get the value

 288      $result = db_query("select ".qss($field).", parent
 289                            from ".DB_PREFIX."projekte
 290                           where ID = '$ID'") or db_die();
 291      $row = db_fetch_row($result);
 292  
 293      if($calculated_newdate != ''){
 294          $newdate = $calculated_newdate;
 295      }
 296      else{
 297          $olddate = explode('-',$row[0]);
 298          $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$days, $olddate[0]));
 299      }
 300  
 301      // leave here if $newdate is younger than $calculated_newdate

 302      if(!(strlen($calculated_newdate) == 10 && strcmp($calculated_newdate, $row[0]) < 0)){
 303          $result = db_query("update ".DB_PREFIX."projekte
 304                                 set ".qss($field)." = '$newdate'
 305                               where ID = '$ID'") or db_die();
 306      }
 307  
 308      // loop over parents

 309      $result = db_query("select ID
 310                            from ".DB_PREFIX."projekte
 311                           where ID = '$row[1]'") or db_die();
 312      while ($row = db_fetch_row($result)) {
 313          move_for($row[0], $field, $days, $newdate);
 314      }
 315  }
 316  
 317  function move_for_down($ID, $field, $days) {
 318      $result = db_query("select ".qss($field).", parent
 319                            from ".DB_PREFIX."projekte
 320                           where ID = '$ID'") or db_die();
 321      $row = db_fetch_row($result);
 322      $olddate = explode('-',$row[0]);
 323      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]+$days, $olddate[0]));
 324      $result = db_query("update ".DB_PREFIX."projekte
 325                             set ".qss($field)." = '$newdate'
 326                           where ID = '$ID'") or db_die();
 327      $result = db_query("select ID
 328                            from ".DB_PREFIX."projekte
 329                           where parent = '$ID'") or db_die();
 330      while ($row = db_fetch_row($result)) {
 331          move_for_down($row[0], $field, $days);
 332      }
 333  }
 334  
 335  function move_back($ID, $field, $days, $calculated_newdate = '') {
 336      // get the value

 337      $result = db_query("select ".qss($field).", parent
 338                            from ".DB_PREFIX."projekte
 339                           where ID = '$ID'") or db_die();
 340      $row = db_fetch_row($result);
 341      if($calculated_newdate != ''){
 342          $newdate = $calculated_newdate;
 343      }
 344      else{
 345          $olddate = explode('-',$row[0]);
 346          $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$days, $olddate[0]));
 347      }
 348  
 349      // leave here if $newdate is older than $calculated_newdate

 350      if(!(strlen($calculated_newdate) == 10 && strcmp($calculated_newdate, $row[0]) > -1)){
 351          $result = db_query("update ".DB_PREFIX."projekte
 352                                 set ".qss($field)." = '$newdate'
 353                               where ID = '$ID'") or db_die();
 354      }
 355  
 356      // loop over parents

 357      $result = db_query("select ID
 358                            from ".DB_PREFIX."projekte
 359                           where ID = '$row[1]'") or db_die();
 360      while ($row = db_fetch_row($result)) {
 361          move_back($row[0], $field, $days, $newdate);
 362      }
 363  }
 364  
 365  function move_back_down($ID, $field, $days, $fneu="") {
 366      // get the value

 367      $result = db_query("select ".qss($field).",parent
 368                            from ".DB_PREFIX."projekte
 369                           where ID = '$ID'") or db_die();
 370      $row = db_fetch_row($result);
 371      if ($fneu) $olddate = explode('-',$fneu);
 372      else       $olddate = explode('-',$row[0]);
 373      $newdate = date("Y-m-d", mktime(0, 0, 0, $olddate[1], $olddate[2]-$days, $olddate[0]));
 374      $result = db_query("update ".DB_PREFIX."projekte
 375                             set ".qss($field)." = '$newdate'
 376                           where ID = '$ID'") or db_die();
 377      $result = db_query("select ID
 378                            from ".DB_PREFIX."projekte
 379                           where parent= '$ID'") or db_die();
 380      while ($row = db_fetch_row($result)) {
 381          move_back_down($row[0], $field, $days);
 382      }
 383  }
 384  
 385  function move_back_down1($ID, $field, $fval, $do_update = true) {
 386      if($do_update){
 387          $result = db_query(xss("update ".DB_PREFIX."projekte
 388                                     set ".