Ejemplo n.º 1
0
 public function index()
 {
     if ($this->registry["ui"]["admin"]) {
         $this->view->setTitle("Шаблоны");
         $template = new Model_Template();
         $list = $template->getTemplates();
         if (isset($this->args[1])) {
             if ($this->args[1] == "add") {
                 if (isset($_POST["submit"])) {
                     $template->addTemplate($_POST);
                     $this->view->refresh(array("timer" => "1", "url" => "objects/"));
                 } else {
                     $this->view->objects_templateadd();
                 }
             } elseif ($this->args[1] == "edit") {
                 if (isset($this->args[2])) {
                     if (isset($_POST["submit"])) {
                         $template->editTemplate($this->args[2], $_POST);
                         $this->view->refresh(array("timer" => "1", "url" => "objects/"));
                     } else {
                         $param = $template->getTemplate($this->args[2]);
                         $this->view->objects_templateedit(array("post" => $param));
                     }
                 }
             } elseif ($this->args[1] == "list") {
                 $this->view->objects_templatelist(array("id" => $this->args[2]));
             }
         } else {
             $this->view->objects_templates(array("list" => $list));
         }
     }
     $this->view->showPage();
 }
Ejemplo n.º 2
0
 public function index()
 {
     if ($this->registry["ui"]["admin"]) {
         $this->view->setTitle("Шаблоны");
         $this->view->setLeftContent($this->view->render("left_objects", array()));
         $template = new Model_Template();
         $list = $template->getTemplates();
         $datatypes = $template->getDataTypes();
         if (isset($this->args[1])) {
             if ($this->args[1] == "add") {
                 if (isset($_POST["submit"])) {
                     $template->addTemplate($_POST);
                     $this->view->refresh(array("timer" => "1", "url" => "objects/admin/"));
                 } else {
                     $this->view->objects_templateadd(array("datatypes" => $datatypes));
                 }
             } elseif ($this->args[1] == "edit") {
                 if (isset($this->args[2])) {
                     if (isset($_POST["submit"])) {
                         $template->editTemplate($this->args[2], $_POST);
                         $this->view->refresh(array("timer" => "1", "url" => "objects/admin/"));
                     } else {
                         $param = $template->getTemplate($this->args[2]);
                         $this->view->objects_templateedit(array("post" => $param, "datatypes" => $datatypes));
                     }
                 }
             } elseif ($this->args[1] == "editview") {
                 $param = $template->getTemplateView($this->args[2]);
                 $this->view->objects_templateeditview(array("tid" => $this->args[2], "post" => $param, "datatypes" => $datatypes));
             } elseif ($this->args[1] == "list") {
                 $this->view->objects_templatelist(array("id" => $this->args[2]));
             }
         } else {
             $this->view->objects_templates(array("list" => $list));
         }
     }
     $this->view->showPage();
 }
Ejemplo n.º 3
0
 public function getObject($id)
 {
     $template = new Model_Template();
     $rows = FALSE;
     $sql = "SELECT o.id AS id, o.timestamp AS `timestamp`, o.template AS tid, t.name AS tname, ov.fid AS fid, tf.field AS `field`, tf.main AS `main`, tf.expand AS `expand`, ov.val AS val, o.uid AS auid, author.name AS aname, author.soname AS asoname, o.timestamp AS adate, ov.uid AS euid, editor.name AS ename, editor.soname AS esoname, ov.timestamp AS edate\r\n\t\t\t\t\tFROM objects AS o\r\n\t                LEFT JOIN objects_vals AS ov ON (ov.oid = o.id)\r\n\t                LEFT JOIN templates_fields AS tf ON (tf.id = ov.fid)\r\n\t                LEFT JOIN templates AS t ON (t.id = tf.tid)\r\n\t                LEFT JOIN users AS author ON (author.id = o.uid)\r\n\t                LEFT JOIN users AS editor ON (editor.id = ov.uid)\r\n\t                WHERE o.id = :id\r\n\t                ORDER BY fid";
     $res = $this->registry['db']->prepare($sql);
     $param = array(":id" => $id);
     $res->execute($param);
     $rows = $res->fetchAll(PDO::FETCH_ASSOC);
     $sql = "SELECT `email`\r\n\t\t\tFROM mail_contacts\r\n\t\t\tWHERE oid = :id";
     $res = $this->registry['db']->prepare($sql);
     $param = array(":id" => $id);
     $res->execute($param);
     $email = $res->fetchAll(PDO::FETCH_ASSOC);
     if (count($email) and $email[0]["email"] != "") {
         $rows[0]["email"] = $email[0]["email"];
     }
     if ($rows) {
         $fields = $template->getTemplate($rows[0]["tid"]);
     } else {
         return FALSE;
     }
     foreach ($fields as $part) {
         $flag = FALSE;
         foreach ($rows as $row) {
             if ($part["fid"] == $row["fid"]) {
                 $flag = TRUE;
             }
         }
         if (!$flag) {
             $rows[] = $part;
         }
     }
     return $rows;
 }
Ejemplo n.º 4
0
 public function getObject($id)
 {
     $rows = FALSE;
     $sql = "SELECT o.id AS id, o.timestamp AS `timestamp`, o.template AS tid, o.fid AS fdirid, t.id AS tid, t.name AS tname, ov.fid AS fid, tf.field AS `field`, tf.main AS `main`, tf.type AS `type`, tf.datatype AS datatype, ov.val AS val, o.uid AS auid, author.name AS aname, author.soname AS asoname, o.timestamp AS adate, ov.uid AS euid, editor.name AS ename, editor.soname AS esoname, ov.timestamp AS edate\r\n\t\t\t\tFROM objects AS o\r\n                LEFT JOIN objects_vals AS ov ON (ov.oid = o.id)\r\n                LEFT JOIN templates_fields AS tf ON (tf.id = ov.fid)\r\n                LEFT JOIN templates AS t ON (t.id = tf.tid)\r\n                LEFT JOIN users AS author ON (author.id = o.uid)\r\n                LEFT JOIN users AS editor ON (editor.id = ov.uid)\r\n                WHERE o.id = :id\r\n                ORDER BY fid";
     $res = $this->registry['db']->prepare($sql);
     $param = array(":id" => $id);
     $res->execute($param);
     $rows = $res->fetchAll(PDO::FETCH_ASSOC);
     $template = new Model_Template();
     $fields = $template->getTypeTemplate($rows[0]["tid"]);
     for ($i = 0; $i < count($fields); $i++) {
         $flag = false;
         for ($j = 0; $j < count($rows); $j++) {
             if (isset($rows[$j]["val"])) {
                 $rows[$j]["formatval"] = nl2br($rows[$j]["val"]);
                 $search = array("\n", "\r");
                 $rows[$j]["formatval"] = str_replace($search, "", $rows[$j]["formatval"]);
             }
             if (isset($rows[$j]["field"])) {
                 if ($fields[$i]["field"] == $rows[$j]["field"]) {
                     $flag = true;
                     $rows[$i]["sel"] = $template->getDataVals($rows[$i]["datatype"]);
                 }
             }
         }
         if (!$flag) {
             $rows[] = $fields[$i];
         }
     }
     $sql = "SELECT `email`\r\n\t\tFROM mail_contacts\r\n\t\tWHERE oid = :id";
     $res = $this->registry['db']->prepare($sql);
     $param = array(":id" => $id);
     $res->execute($param);
     $email = $res->fetchAll(PDO::FETCH_ASSOC);
     if (count($email) and $email[0]["email"] != "") {
         $rows[0]["email"] = $email[0]["email"];
     }
     if ($rows) {
         $fields = $template->getTemplate($rows[0]["tid"]);
     } else {
         return FALSE;
     }
     foreach ($fields as $part) {
         $flag = FALSE;
         foreach ($rows as $row) {
             if ($part["fid"] == $row["fid"]) {
                 $flag = TRUE;
             }
         }
         if (!$flag) {
             $rows[] = $part;
         }
     }
     for ($i = 0; $i < count($rows); $i++) {
         $sql = "SELECT fid, x, y, w, h\r\n        \t\tFROM templates_view\r\n        \t\tWHERE tid = :tid";
         $res = $this->registry['db']->prepare($sql);
         $param = array(":tid" => $rows[0]["tid"]);
         $res->execute($param);
         $data = $res->fetchAll(PDO::FETCH_ASSOC);
     }
     // если поле есть в таблице  templates_view, присвоим массиву $fields значения
     for ($i = 0; $i < count($rows); $i++) {
         for ($j = 0; $j < count($data); $j++) {
             if ($rows[$i]["fid"] == $data[$j]["fid"]) {
                 $rows[$i]["view"] = $data[$j];
             }
         }
     }
     // sort array
     for ($i = 0; $i < count($rows); $i++) {
         for ($j = 0; $j < count($rows); $j++) {
             if (isset($rows[$i]["view"]["y"]) and isset($rows[$j]["view"]["y"])) {
                 if ($rows[$i]["view"]["y"] < $rows[$j]["view"]["y"]) {
                     $min = $rows[$i];
                     $rows[$i] = $rows[$j];
                     $rows[$j] = $min;
                 }
             }
         }
     }
     return $rows;
 }