Exemple #1
0
 /** Das Projekt wird mithilfe der remmove Funktion gelöscht
  *
  * @return bool true, false im Fehlerfall
  * @author Lorze Widmer
  */
 public function removeProject()
 {
     //Berechtigungen werden überprüft
     if (!$this->editable) {
         return;
     }
     //Die Hauptdatei $pid.rar wird gepackt
     if (!getRAR()->execute('addFile', array('source' => SYS_SHARE_PROJECTS . $this->pid . '.rar', 'destination' => SYS_TRASH_FOLDER . 'projects.rar'))) {
         return $this->throwError('A technical error occurred. The Project couldn`t be removed because of you >:(');
     }
     //Alle Versionsdateien werden gepackt
     foreach ($this->getVersions() as $value) {
         $path = SYS_SHARE_PROJECTS . $this->pid . '-v' . $value;
         if (!is_file($path)) {
             continue;
         }
         if (!getRAR()->execute('addFile', array('source' => $path, 'destination' => SYS_TRASH_FOLDER . 'projects.rar'))) {
             return $this->throwError('A technical error occurred. The Project couldn`t be removed because of you >:(');
         }
     }
     //Datenbankeinträge werden gelöscht
     if (getMethods()->remove(self::TYPE_PROJECT, $this->pid)) {
         // Werte entfernen, da Objekt nicht zerstört werden kann
         $this->data = null;
         $this->pid = NULL;
         $this->info = null;
         $this->editable = false;
         $this->versions = null;
         return true;
     }
     return $this->throwError('A technical error occurred. The list has not been removed.');
 }
        return true;
    }
    return false;
}
$dirs = array('../app', '../library/Axis', '../scripts');
$files = array();
$filesUsage = array();
foreach ($dirs as $dir) {
    $files = array_merge($files, rglob($dir . '/*.php'));
    $filesUsage = array_merge($filesUsage, rglob($dir . '/*.php'));
    $filesUsage = array_merge($filesUsage, rglob($dir . '/*.phtml'));
}
$methods = array();
$methodToFile = array();
foreach ($files as $file) {
    $_methods = getMethods($file);
    foreach ($_methods as $method) {
        $methods[$method] = 0;
        if (!isset($methodToFile[$method])) {
            $methodToFile[$method] = array();
        }
        $methodToFile[$method][] = $file;
    }
}
echo "Methods: " . count($methods) . "\n";
/*
 * Looking for unused methods
 */
foreach ($filesUsage as $file) {
    $content = file_get_contents($file);
    foreach ($methods as $method => $cnt) {
Exemple #3
0
 /** Löscht die Liste.
  *
  * Mit dem Löschen der Liste werden noch folgende Schritte ausgeführt:
  *  Bei Prüfungslisten:
  *		- Die Prüfungen werden für ein Backup archiviert
  *	Bei Projektlisten:
  *		- Die Projekte werden von der Liste entfernt
  *
  * @return boolean Bei Erfolg true, ansonsten false.
  */
 public function remove()
 {
     switch ($this->type) {
         case 0:
             if (!getDB()->query('removeListFromProjects', array('id' => $this->data->id))) {
                 return $this->throwError('A technical error occurred. The list has not been removed.');
             }
             break;
         case 1:
             // TODO prüfungen archvieren nach SYS_TRASH
             break;
     }
     $um = getMethods();
     // UserMethods Objekt erhalten um Liste zu löschen
     if ($um->remove(self::TYPE_LIST, $this->data->id)) {
         // Werte entfernen, da Objekt nicht zerstört werden kann
         $this->data = null;
         $this->permitted = false;
         $this->type = null;
         return true;
     }
     return $this->throwError('A technical error occurred. The list has not been removed.');
 }