Beispiel #1
0
 public static function addNode($typeModel, $type, $tree, $nodeTitle, $nodeName, $saveData, $errSql = false)
 {
     if (empty($nodeName) || empty($nodeTitle)) {
         return false;
     }
     $nodeId = K_Tree::add($tree, $type, strtolower(preg_replace("/[^a-z0-9-]/i", "", K_String::rus2lat(preg_replace('/\\s+/', '-', trim($nodeName))))), trim($nodeTitle), 1, 0);
     if ($nodeId) {
         $saveData['type_' . $type . '_id'] = $nodeId;
         K_Db_Adapter::$defaultAdapter->lastQueryError = false;
         $typeModel->save($saveData);
         // echo K_Db_Adapter::$defaultAdapter->lastSqlQuery;
         // K_cli::nbr();
         if (K_Db_Adapter::$defaultAdapter->lastQueryError) {
             if ($errSql) {
                 echo K_Db_Adapter::$defaultAdapter->lastSqlQuery;
             }
             K_Tree::delete($nodeId);
         } else {
             return $nodeId;
         }
     }
     return false;
 }
Beispiel #2
0
        $nodeId = (int) $this->getParam('id');
        $node = K_Tree::getNode($nodeId);
        if ($node['tree_bloked'] == '1' || $nodeId == '1') {
            echo 'Этот элемент заблокирован!
			 <script type="text/javascript">	
    		    enableTree();
                $.jstree._reference(\'#tree\').set_text( $(\'#node_{$nodeId}\') ,"{$updateValues[\'tree_title\']}");
            	$(".node_information-{$nodeId}").find("b").text("{$newTreeLink}");
             </script>';
            return;
        }
        $treeTable = new K_Tree_Model();
        $updateValues = array();
        if (isset($_POST['tree_title']) && !empty($_POST['tree_title'])) {
            $updateValues['tree_title'] = $_POST['tree_title'];
        }
        if (isset($_POST['tree_name']) && !empty($_POST['tree_name'])) {
            $updateValues['tree_name'] = preg_replace("/[^a-z0-9,-]/i", "", $_POST['tree_name']);
            $updateValues['tree_title'] = preg_replace("/[\"']/i", "", $_POST['tree_title']);
            if (strlen($updateValues['tree_name']) < 1) {
                throw new Exception('Название элемента не соответствует');
            }
            $nodeData = K_Tree::getNode($nodeId);
            $partsOfLink = explode('/', substr($nodeData['tree_link'], 0, -1));
            $newTreeLink = $nodeData['tree_link'];
            if ($partsOfLink) {
                $partsOfLink[sizeof($partsOfLink) - 1] = $updateValues['tree_name'];
                $newTreeLink = implode('/', $partsOfLink) . '/';
            }
            $query = new K_Db_Query();
            $query->q('UPDATE `tree` SET `tree_link` = CONCAT(REPLACE(LEFT(tree_link, ' . strlen($nodeData['tree_link']) . '), "' . $nodeData['tree_link'] . '", "' . $newTreeLink . '"), SUBSTRING(tree_link, ' . (strlen($nodeData['tree_link']) + 1) . ')) WHERE `tree_lkey`>=' . $nodeData['tree_lkey'] . ' AND `tree_rkey`<=' . $nodeData['tree_rkey']);
        }
        $treeTable->update($updateValues, '`tree_id` = ' . $nodeId);
        echo <<<HTML
\t\tЭлемент успешно обновлён!
        <script type="text/javascript">\t
\t\t  enableTree();
        \$.jstree._reference('#tree').set_text( \$('#node_{$nodeId}') ,"{$updateValues['tree_title']}");
    \t//\t\$("#tree.node_{$nodeId}").find(".title:first").text("{$updateValues['tree_title']}");
\t\t\t\$(".node_information-{$nodeId}").find("b").text("{$newTreeLink}");
        </script>
HTML;
    }
    public function updateseoAction()
    {
        $this->disableRender = true;
        $nodeId = (int) $this->getParam('id');
        $data = array('tree_meta_title' => trim($_POST['title']), 'tree_meta_description' => trim($_POST['description']), 'tree_meta_keywords' => trim($_POST['keywords']), 'tree_meta_canonical' => trim($_POST['canonical']));
        $treeTable = new K_Tree_Model();
        $treeTable->update($data, '`tree_id` = ' . $nodeId);
        echo 'Сео данные успешно обновлены!