<?php

/**
 * $Id: ajax_edit_ex_picture.php 26570 2014-12-24 10:56:29Z phenxdesign $
 *
 * @package    Mediboard
 * @subpackage forms
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision: 26570 $
 */
CCanDo::checkEdit();
$ex_picture_id = CValue::get("ex_picture_id");
$ex_group_id = CValue::get("ex_group_id");
CExObject::$_locales_cache_enabled = false;
$ex_group = new CExClassFieldGroup();
$ex_group->load($ex_group_id);
$ex_picture = new CExClassPicture();
if ($ex_picture->load($ex_picture_id)) {
    $ex_picture->loadRefsNotes();
} else {
    $ex_picture->ex_group_id = $ex_group_id;
    $ex_picture->disabled = "0";
}
$ex_picture->loadRefPredicate()->loadView();
$ex_picture->loadRefExClass();
$ex_picture->loadRefFile();
$smarty = new CSmartyDP();
$smarty->assign("ex_picture", $ex_picture);
$smarty->assign("ex_group", $ex_group);
$smarty->display("inc_edit_ex_picture.tpl");
 if (empty($line["group_1"]) && empty($line["group_2"]) && $line["field_name"] === CMbString::upper($line["field_name"])) {
     // we assume exclasses are uppercase
     $current_group = null;
     $current_class = new CExClass();
     $class = $line["field_name"];
     $ds = $current_class->_spec->ds;
     $where = array("name" => $ds->prepare("=%", $class));
     $current_class->loadObject($where);
     if (!$current_class->_id) {
         CAppUI::setMsg("Ligne {$line_number} : formulaire non trouvé ({$class})", UI_MSG_WARNING);
     }
     continue;
 }
 // EX CLASS FIELD GROUP
 if (!empty($line["group_1"]) && !empty($current_class->_id)) {
     $current_group = new CExClassFieldGroup();
     $group_name = $line["group_1"];
     $ds = $current_group->_spec->ds;
     $where = array("ex_class_id" => $ds->prepare("=%", $current_class->_id), "name" => $ds->prepare("=%", $group_name));
     $current_group->loadObject($where);
     if (!$current_group->_id) {
         $current_group->name = $group_name;
         $current_group->ex_class_id = $current_class->_id;
         if ($msg = $current_group->store()) {
             CAppUI::setMsg("Ligne {$line_number} : {$msg}", UI_MSG_WARNING);
             continue;
         } else {
             CAppUI::setMsg("{$current_group->_class}-msg-create", UI_MSG_OK);
         }
     }
 }
 /**
  * @see parent::store()
  */
 function store()
 {
     if ($this->_id && $this->_duplicate) {
         $this->_duplicate = null;
         return $this->duplicate();
     }
     if ($msg = $this->check()) {
         return $msg;
     }
     $is_new = !$this->_id;
     if ($is_new) {
         if ($msg = parent::store()) {
             return $msg;
         }
         // Groupe par défaut
         if (!$this->_dont_create_default_group) {
             $ex_group = new CExClassFieldGroup();
             $ex_group->name = "Groupe général";
             $ex_group->ex_class_id = $this->_id;
             $ex_group->store();
         }
         $table_name = $this->getTableName();
         $query = "CREATE TABLE `{$table_name}` (\n        `ex_object_id`     INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,\n        `group_id`         INT(11) UNSIGNED NOT NULL,\n        \n        `object_id`        INT(11) UNSIGNED NOT NULL,\n        `object_class`     VARCHAR(80) NOT NULL,\n        \n        `reference_id`     INT(11) UNSIGNED NOT NULL,\n        `reference_class`  VARCHAR(80) NOT NULL,\n        \n        `reference2_id`    INT(11) UNSIGNED NOT NULL,\n        `reference2_class` VARCHAR(80) NOT NULL,\n\n        `additional_id`    INT (11) UNSIGNED,\n        `additional_class` VARCHAR(80),\n\n        `datetime_create` DATETIME,\n        `datetime_edit`   DATETIME,\n        `owner_id`        INT(11) UNSIGNED,\n        \n        INDEX ( `group_id` ),\n        INDEX `object`     ( `object_class`,     `object_id` ),\n        INDEX `reference1` ( `reference_class`,  `reference_id` ),\n        INDEX `reference2` ( `reference2_class`, `reference2_id` ),\n        INDEX `additional` ( `additional_class`, `additional_id` ),\n        INDEX ( `owner_id` ),\n        INDEX ( `datetime_create` )\n      ) /*! ENGINE=MyISAM */;";
         $ds = $this->_spec->ds;
         if (!$ds->query($query)) {
             return "La table '{$table_name}' n'a pas pu être créée (" . $ds->error() . ")";
         }
     }
     return parent::store();
 }
 * @version    $Revision: 17759 $
 */
CCanDo::checkEdit();
$ex_field_id = CValue::get("ex_field_id");
$ex_field_predicate_id = CValue::get("ex_field_predicate_id");
$exclude_ex_field_id = CValue::get("exclude_ex_field_id");
$ex_group_id = CValue::get("ex_group_id");
$opener_field_value = CValue::get("opener_field_value");
$opener_field_view = CValue::get("opener_field_view");
$ex_field_predicate = new CExClassFieldPredicate();
$ex_field_predicate->load($ex_field_predicate_id);
if (!$ex_field_predicate->_id && $ex_field_id != $exclude_ex_field_id) {
    $ex_field_predicate->ex_class_field_id = $ex_field_id;
}
$ex_field_predicate->loadRefExClassField();
$ex_field = new CExClassField();
$ex_field->load($ex_field_id);
if ($ex_group_id && !$ex_field->_id) {
    $ex_group = new CExClassFieldGroup();
    $ex_group->load($ex_group_id);
    $ex_class = $ex_group->loadRefExClass();
} else {
    $ex_class = $ex_field->loadRefExClass();
}
$smarty = new CSmartyDP();
$smarty->assign("ex_field_predicate", $ex_field_predicate);
$smarty->assign("ex_class", $ex_class);
$smarty->assign("exclude_ex_field_id", $exclude_ex_field_id);
$smarty->assign("opener_field_value", $opener_field_value);
$smarty->assign("opener_field_view", $opener_field_view);
$smarty->display("inc_edit_ex_field_predicate.tpl");