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; }