get_model_class_name();
$object_instance = new $model_class_name($this->id, $this->serial_id);
if(method_exists($model_class_name, 'set_controller')) {
$model_class_name::set_controller($this);
}
return $object_instance;
}
/**
* 8 = droits de modification
*/
protected function get_acces_m() {
global $PMBuserid;
$acces_m=1;
if(!$this->id) {
$acces_m = $this->dom_1->getRights($PMBuserid,$this->serial_id,8);
if(!$acces_m) {
$this->error_message = 'mod_seri_error';
}
} else {
$acces_j = $this->dom_1->getJoin($PMBuserid, 8, 'bulletin_notice');
$q = "select count(1) from bulletins $acces_j where bulletin_id=".$this->id;
$r = pmb_mysql_query($q);
if(pmb_mysql_result($r,0,0)==0) {
$acces_m=0;
$this->error_message = 'mod_bull_error';
}
}
return $acces_m;
}
public function proceed_form() {
global $msg;
global $serial_header;
// affichage d'un form pour création, modification d'un périodique
if(!$this->id) {
// pas d'id, c'est une création
print str_replace('!!page_title!!', $msg[4000].$msg[1003].$msg[4005], $serial_header);
} else {
print str_replace('!!page_title!!', $msg[4000].$msg[1003].$msg[4006], $serial_header);
}
$myBulletinage = $this->get_object_instance();
$perio = new serial_display($myBulletinage->get_serial()->id, 1);
// titre général du périodique
print "
".$perio->header."
".$perio->isbd."
";
// affichage du form
print "".$myBulletinage->do_form().'
';
}
public function proceed_duplicate() {
global $msg;
global $serial_header;
// affichage d'un form pour création, modification d'un périodique
if(!$this->id) {
// pas d'id, c'est une création
print str_replace('!!page_title!!', $msg[4000].$msg[1003].$msg[4005], $serial_header);
} else {
print str_replace('!!page_title!!', $msg[4000].$msg[1003].$msg['bull_duplicate'], $serial_header);
}
$myBulletinage = $this->get_object_instance();
$perio = new serial_display($myBulletinage->get_serial()->id, 1);
$myBulletinage->bulletin_id = 0;
// titre général du périodique
print "
".$perio->header."
".$perio->isbd."
";
// affichage du form
print "".$myBulletinage->do_form().'
';
}
public function proceed_replace() {
global $msg;
global $by;
global $del;
$myBul = $this->get_object_instance();
$by += 0;
if(!$by) {
$myBul->replace_form();
} else {
// routine de remplacement
$rep_result = $myBul->replace($by,1-$del);
if(!$rep_result) {
print "
";
} else {
error_message($msg[132], $rep_result, 1, "./catalog.php?categ=serials&sub=view&serial_id=".$this->serial_id);
}
}
}
protected function get_permalink($id=0) {
if(!$id) $id = $this->id;
return $this->url_base."&action=view&bul_id=".$id;
}
public function set_serial_id($serial_id=0) {
$this->serial_id = (int) $serial_id;
}
}