public static function getAllOeuvreMaterials()
 {
     $database = DatabaseFactory::getFactory()->getConnection();
     $sql = "SELECT o.oeuvre_id, o.oeuvre_name, m.material_id, material_name, material_price, material_weight, material_dimension_high, material_dimension_width,\n                       material_dimension_profound, material_provider_id, material_has_photoMaterial, material_description, quantity\n                FROM oeuvres_materials AS om, materials AS m, oeuvres AS o WHERE m.material_id = om.material_id AND o.oeuvre_id = om.oeuvre_id ";
     $query = $database->prepare($sql);
     $query->execute();
     $all_materials = array();
     foreach ($query->fetchAll() as $material) {
         // all elements of array passed to Filter::XSSFilter for XSS sanitation, have a look into
         // application/core/Filter.php for more info on how to use. Removes (possibly bad) JavaScript etc from
         // the material's values
         array_walk_recursive($material, 'Filter::XSSFilter');
         $all_materials[$material->material_id] = new stdClass();
         $all_materials[$material->material_id]->oeuvre_id = $material->oeuvre_id;
         $all_materials[$material->material_id]->oeuvre_name = $material->oeuvre_name;
         $all_materials[$material->material_id]->material_id = $material->material_id;
         $all_materials[$material->material_id]->material_name = $material->material_name;
         $all_materials[$material->material_id]->material_price = $material->material_price;
         $all_materials[$material->material_id]->material_weight = $material->material_weight;
         $all_materials[$material->material_id]->material_dimension_high = $material->material_dimension_high;
         $all_materials[$material->material_id]->material_dimension_width = $material->material_dimension_width;
         $all_materials[$material->material_id]->material_dimension_profound = $material->material_dimension_profound;
         $all_materials[$material->material_id]->material_provider_id = $material->material_provider_id;
         $all_materials[$material->material_id]->material_photoMaterial_link = Config::get('USE_GRAVATAR') ? AvatarModel::getGravatarLinkByEmail($user->user_email) : MaterialModel::getPublicPhotoMaterialFilePathOfMaterial($material->material_has_photoMaterial, $material->material_id);
         $all_materials[$material->material_id]->material_description = $material->material_description;
         $all_materials[$material->material_id]->quantity = $material->quantity;
     }
     return $all_materials;
 }