本文整理汇总了PHP中Tree::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Tree::save方法的具体用法?PHP Tree::save怎么用?PHP Tree::save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tree
的用法示例。
在下文中一共展示了Tree::save方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testEditParentLeafNodeToDifferentBranch
public function testEditParentLeafNodeToDifferentBranch()
{
$expected = array(0 => array('Tree' => array('id' => '1', 'name' => '1', 'parent_id' => NULL, 'lft' => '1', 'rght' => '12', 'child_count' => '5', 'direct_child_count' => '3')), 1 => array('Tree' => array('id' => '3', 'name' => '1.1', 'parent_id' => '1', 'lft' => '2', 'rght' => '7', 'child_count' => '2', 'direct_child_count' => '2')), 2 => array('Tree' => array('id' => '6', 'name' => '1.1.1', 'parent_id' => '3', 'lft' => '3', 'rght' => '4', 'child_count' => '0', 'direct_child_count' => '0')), 3 => array('Tree' => array('id' => '8', 'name' => '1.1.3', 'parent_id' => '3', 'lft' => '5', 'rght' => '6', 'child_count' => '0', 'direct_child_count' => '0')), 4 => array('Tree' => array('id' => '4', 'name' => '1.2', 'parent_id' => '1', 'lft' => '8', 'rght' => '9', 'child_count' => '0', 'direct_child_count' => '0')), 5 => array('Tree' => array('id' => '5', 'name' => '1.3', 'parent_id' => '1', 'lft' => '10', 'rght' => '11', 'child_count' => '0', 'direct_child_count' => '0')), 6 => array('Tree' => array('id' => '2', 'name' => '2', 'parent_id' => NULL, 'lft' => '13', 'rght' => '16', 'child_count' => '1', 'direct_child_count' => '1')), 7 => array('Tree' => array('id' => '7', 'name' => '1.1.2', 'parent_id' => '2', 'lft' => '14', 'rght' => '15', 'child_count' => '0', 'direct_child_count' => '0')));
$Tree = new Tree();
$Tree->save(array('Tree' => array('id' => '7', 'parent_id' => '2')));
$results = $Tree->find('all', array('order' => 'lft'));
$this->assertEqual($results, $expected);
}
示例2: doNewTree
function doNewTree($newick = null, $import = 0)
{
$title = $_REQUEST['title'];
$description = $_REQUEST['description'];
$newick = isset($_REQUEST['newick']) ? $_REQUEST['newick'] : $newick;
$tree = new Tree($this->dbconn);
if (!$tree->validateTitle($title) or !$tree->validateDescription($description) or !$tree->validateNewick($newick)) {
$error_data = 1;
}
if (!isset($error_data)) {
$tree->title = $title;
$tree->description = $description;
$tree->user_id = $_SESSION['user_id'];
//парсваме newick текста и ако има SEQ редове си вкарваме и параметрите за нодовете
$tree->parse($newick);
if ($tree->save()) {
//ако след парсването има параметри ги записва и тях
$tree->saveParameters();
//ако импортираме от файл
if ($import == 1) {
return TRUE;
}
header('Location: tree.php?id=' . $tree->id);
exit;
} else {
//ако импортираме от файл
if ($import == 1) {
return FALSE;
}
$this->showErrors();
$this->newTree();
}
} else {
//ако импортираме от файл
if ($import == 1) {
return FALSE;
}
$this->showErrors();
$this->newTree();
}
}
示例3: can_create_new_node_as_root
/**
* New node saved as root
*
* @test
*/
public function can_create_new_node_as_root()
{
$root = new Tree();
$this->assertNotEmpty($root->setAsRoot());
// Should return this
$this->assertTrue($root->isRoot(), 'Assert root node');
// Assert path and level set properly
$this->assertEquals($root->id, 1);
$this->assertEquals($root->path, $root->id . '/');
$this->assertEquals($root->level, 0);
$this->assertEmpty($root->parent, 'Expected no parent');
$root2 = new Tree();
$this->assertNotEmpty($root2->save());
// Standard save - we expect root node
$this->assertTrue($root2->isRoot(), 'Assert root node');
// Assert path, level and parent set properly
$this->assertEquals($root2->id, 2);
$this->assertEquals($root2->path, $root2->id . '/');
$this->assertEquals($root2->level, 0);
$this->assertEmpty($root2->parent, 'Expected no parent');
}
示例4: actionCreate
/**
* Creates a new model.
* If creation is successful, the browser will be redirected to the 'view' page.
*/
public function actionCreate()
{
$model = new Tree();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Tree'])) {
$model->attributes = $_POST['Tree'];
if (!$model->use_material) {
$model->use_organization = false;
$model->use_tape = false;
$model->module = null;
} else {
if (!Yii::app()->user->admin) {
$record = Tree::model()->findByPk($model->id_parent);
if (count($record) > 0) {
$model->module = $record->module;
}
}
}
if ($model->save()) {
$permissionGroups = isset($_POST['Tree']['permissionGroup']) ? $_POST['Tree']['permissionGroup'] : array();
$permissionUsers = isset($_POST['Tree']['permissionUser']) ? $_POST['Tree']['permissionUser'] : array();
$model->saveRelationsPermissions($model->id, $model, $permissionGroups, $permissionUsers);
/* дополнительные настройки прав */
$flagDopAccessModel = false;
if ($model->module != null && Yii::app()->user->admin) {
$dopAccessModel = new $model->module();
if ($dopAccessModel) {
$flagDopAccessModel = true;
}
}
if ($flagDopAccessModel) {
$this->redirect(array('access', 'id' => $model->id));
} else {
$this->redirect(array('view', 'id' => $model->id));
}
}
}
$this->render('create', array('model' => $model));
}
示例5: actionUpdateTree
public function actionUpdateTree()
{
/* @var $tree Tree */
//get params from request
$id = Yii::app()->request->getParam('id', null);
$label = Yii::app()->request->getParam('label', '');
$status = Yii::app()->request->getParam('status', Constants::STATUS_HIDDEN);
$type = Yii::app()->request->getParam('type', Constants::TYPE_TEXT_PAGE_1_ARRINGTON);
$names = Yii::app()->request->getParam('name', array());
//try to find by pk
$tree = Tree::model()->findByPk($id);
//if not found by pk - that means that id not found ind request, need to create new
if ($tree == null) {
$tree = new Tree();
}
//set main parameters
$tree->status = $status;
$tree->type = $type;
$tree->label = $label;
//if this is creation
if ($tree->getIsNewRecord()) {
//set priority
$tree->priority = DwHelper::getNextPriority("Tree");
//creation date
$tree->date_created = time();
//last change date
$tree->date_changed = time();
//save new record in db
$tree->save();
} else {
//last change date
$tree->date_changed = time();
//update
$tree->update();
}
//get all lng objects by active languages on site
foreach (Constants::GetLngArray() as $lng) {
//get object
$treeLng = $tree->getLngObject($lng);
//set name using multi-language array given from request
$treeLng->name = $names[$lng];
//update or create if not exist
if ($treeLng->getIsNewRecord()) {
$treeLng->save();
} else {
$treeLng->update();
}
}
//back to list
$this->redirect($this->createUrl('/admin/panel/treelist'));
}