function exec($args, $stdin, &$stdout, &$stderr, &$system) { $object = new mObject(getNode($_SESSION['murrix']['path'])); $links = $object->getLinks(); if ($args == "-l") { $stdout .= "total ".count($links)."\n"; if (count($links) > 0) { $stdout .= "<table cellspacing=\"0\">"; $stdout .= "<tr class=\"table_title\">"; $stdout .= "<td>Id</td>"; $stdout .= "<td>Type</td>"; $stdout .= "<td>Remote node</td>"; $stdout .= "<td>Remote node is on...</td>"; $stdout .= "</tr>"; foreach ($links as $link) { if ($link['remote_id'] <= 0) $remote = ucf(i18n("unknown")); else { $remote_obj = new mObject($link['remote_id']); $remote = cmd(img(geticon($remote_obj->getIcon()))." ".$remote_obj->getName(), "exec=show&node_id=".$remote_obj->getNodeId()); } $stdout .= "<tr>"; $stdout .= "<td>".$link['id']."</td>"; $stdout .= "<td>".$link['type']."</td>"; $stdout .= "<td>".$remote."</td>"; $stdout .= "<td>".ucf(i18n($link['direction']))."</td>"; $stdout .= "</tr>"; } $stdout .= "</table>"; } } else { foreach ($links as $link) { if ($link['remote_id'] > 0) { $remote_obj = new mObject($link['remote_id']); $stdout .= cmd($remote_obj->getName(), "exec=show&node_id=".$remote_obj->getNodeId())." "; } } } return true; }
function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!empty($args)) { $object = new mObject(getNode($_SESSION['murrix']['path'])); if (!$object->hasRight("write")) { $stderr = ucf(i18n("not enough rights")); return true; } $links = $object->getLinks(); $link_matched = false; foreach ($links as $link) { if ($link['id'] == $args) { $link_matched = $link; break; } } if ($matched === false) { $stderr = ucf(i18n("unknown link specified")); return true; } $object->deleteLink($args); clearNodeFileCache($object->getNodeId()); clearNodeFileCache($link_matched['remote_id']); $_SESSION['murrix']['path'] = $object->getPathInTree(); $system->TriggerEventIntern($response, "newlocation", array()); $stdout = ucf(i18n("removed link successfully")); } else { $stdout = "Usage: ldel [linkid]\n"; $stdout .= "Example: ldel 1"; } return true; }
function execute(&$system, $args) { if (isset($args['action']) && $args['action'] == "deleteversion") { $object = new mObject(); $object->loadByObjectId($args['object_id']); if ($object->hasRight("write")) $object->deleteCurrentVersion(); $args['node_id'] = $object->getNodeId(); clearNodeFileCache($object->getNodeId()); $links = $object->getLinks(); foreach ($links as $link) { if ($link['type'] == "sub") clearNodeFileCache($link['remote_id']); } } $system->triggerEventIntern("newlocation", $args); }
function actionSave(&$system, $args) { $bError = false; if (empty($args['name'])) { $system->addAlert(ucf(i18n("please enter a name"))); $bError = true; } if (!(strpos($args['name'], "\\") === false) || !(strpos($args['name'], "/") === false) || !(strpos($args['name'], "+") === false)) { $system->addAlert(ucf(i18n("you can not use '\\', '/' or '+' in the name"))); $bError = true; } if (!$bError) { $object = new mObject($this->getNodeId($args)); if ($object->getNodeId() > 0) { if ($object->hasRight("write")) { $object->name = trim($args['name']); $object->icon = trim($args['icon']); $newlang = ($object->getLanguage() != trim($args['language'])); $object->language = trim($args['language']); $vars = $object->getVars(); foreach ($vars as $var) { $key = "v".$var->id; $value = (isset($args[$key]) ? $args[$key] : (isset($args[$var->id]) ? $args[$var->id] : "")); if (empty($value) && $var->getRequired() && $var->getType() != "boolean") { $system->addAlert(utf8e(ucf(str_replace("_", " ", i18n($var->getName(true))))." ".i18n("is a required field"))); return; } $object->setVarValue($var->name, $value); } if ($args['newversion'] == "on" || $newlang) $ret = $object->save(); else $ret = $object->saveCurrent(); if ($ret) { $system->addRedirect("exec=show&node_id=".$object->getNodeId()); clearNodeFileCache($object->getNodeId()); $links = $object->getLinks(); foreach ($links as $link) { if ($link['type'] == "sub") clearNodeFileCache($link['remote_id']); } } else { $message = "Operation unsuccessfull.<br/>"; $message .= "Error output:<br/>"; $message .= $object->getLastError(); $system->addAlert($message); } } } } }