/**
  * Builds an instance of PC_Project from the given row
  *
  * @param array $row the row from db
  * @param boolean $full whether to fetch data from other tables
  * @return PC_Project the project
  */
 private function build_project($row, $full)
 {
     if (!$row) {
         return null;
     }
     $db = FWS_Props::get()->db();
     $proj = new PC_Project($row['id'], $row['name'], $row['created'], $row['type_folders'], $row['type_exclude'], $row['stmt_folders'], $row['stmt_exclude'], $row['report_argret_strictly']);
     if ($full) {
         $stmt = $db->get_prepared_statement('SELECT * FROM ' . PC_TB_PROJECT_DEPS . ' WHERE project_id = :id');
         $stmt->bind(':id', $row['id']);
         $deps = $db->get_rows($stmt->get_statement());
         foreach ($deps as $d) {
             $proj->add_project_dep($d['dep_id']);
         }
         $stmt = $db->get_prepared_statement('SELECT * FROM ' . PC_TB_REQUIREMENTS . ' WHERE project_id = :id');
         $stmt->bind(':id', $row['id']);
         $req = $db->get_rows($stmt->get_statement());
         foreach ($req as $v) {
             $proj->add_req($v['id'], $v['type'], $v['name'], $v['version']);
         }
     }
     return $proj;
 }