function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!isAdmin()) { $stderr = ucf(i18n("not enough rights to set initial metadata")); return true; } if (empty($args)) { $stdout = "Usage: maddinit [class name] [metadata name] [value]\n"; $stdout .= "Example: maddinit file_folder view thumbnail"; } else { list($class_name, $name, $value) = splitArgs($args); $return = setInitialMetadata($class_name, $name, $value); if ($return === true) $stdout = "Updated metadata successfully"; else $stderr = $return; } return true; }
function handler($data) { # echo "yay, got this!\n"; global $getopt; global $stdio; $filter = $getopt->get('--filter'); $filterDat = splitArgs($filter, 'column', 'pattern'); if ($filterDat) { print_r($filterDat); if (isset($data[$filterDat['column']])) { echo "column: " . $data[$filterDat['column']] . "\n"; echo "pattern: " . $filterDat['pattern'] . "\n"; if (preg_match($filterDat['pattern'], $data[$filterDat['column']])) { echo "Match!\n"; } else { echo "No match!\n"; } } else { $stdio->errln("<<red>>Missing data for column <<white>>" . $filterDat['column'] . "<<red>>, please verify that spelling is correct<<reset>>."); echo "Available columns: " . join(', ', array_keys($data)) . "\n"; exit(Status::FAIL); die; } } print_r($data); # die; }
function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!empty($args)) { $args_split = splitArgs($args); list($rights, $path, $recursive) = $args_split; if ($path{0} != "/") $path = $_SESSION['murrix']['path']."/$path"; $node_id = getNode($path); if ($node_id <= 0) { $stderr = ucf(i18n("no such path"))." $path"; return true; } else $object = new mObject($node_id); if (!(isAdmin() || $object->hasRight("write"))) { $stderr .= ucf(i18n("not enough rights to change ownership on"))." ".$object->getPathInTree(); } else { $_SESSION['murrix']['objectcache']['disabled'] = true; if ($recursive == "-r" || $recursive == "-R") { $stderr = $this->setOwnerOnObjectsRecursive($object, $stdout, $stderr, $rights); } else { if ($object->grantRight($rights)) $stdout = "";//ucf(i18n("changed ownership successfully on"))." ".$object->getPathInTree(); else $stderr = ucf(i18n("failed to change ownership on"))." ".$object->getPathInTree(); } $_SESSION['murrix']['objectcache']['disabled'] = false; } } else { $stdout = "Usage: grant [groupname]=[rights] [path] [-R]\n"; $stdout .= "Example: grant admins=rwc /root"; } return true; }
function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!empty($args)) { $args_split = splitArgs($args); if (count($args_split) >= 2) { $name = $args_split[0]; $value = $args_split[1]; if (isset($args_split[2])) $theme = $args_split[2]; if (!isAdmin()) { $stderr = ucf(i18n("not enough rights")); return true; } $result = setSetting($name, $value, $theme); if ($result === true) $stdout = ucf(i18n("setting set successfully")); else $stdout = $result; } } else { $stdout = "Usage: sset [settingname] [value]\n"; $stdout .= "Example: sset TITLE \"Murrix title\""; } return true; }
function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!empty($args)) { $args_split = splitArgs($args); list($ug, $path, $recursive) = $args_split; list($username, $groupname) = explode(".", $ug); if ($path{0} != "/") $path = $_SESSION['murrix']['path']."/$path"; $node_id = getNode($path); if ($node_id <= 0) { $stderr = ucf(i18n("no such path"))." $path"; return true; } else $object = new mObject($node_id); $user = new mUser(); $user->setByUsername($username); if ($user->id <= 0) { $stderr = ucf(i18n("no such user")); return true; } $group_id = 0; if (!empty($groupname)) { $group = new mGroup(); $group->setByName($groupname); if ($group->id <= 0) { $stderr = ucf(i18n("no such group")); return true; } $group_id = $group->id; } if (!(isAdmin() || $object->hasRight("write"))) { $stderr .= ucf(i18n("not enough rights to change ownership on"))." ".$object->getPathInTree(); } else { if ($recursive == "-r" || $recursive == "-R") { $stderr = $this->setOwnerOnObjectsRecursive($object, $stdout, $stderr, $user->id, $group_id); } else { $object->setUserId($user->id); if ($group_id > 0) $object->setGroupId($group_id); if ($object->saveCurrent()) $stdout = "";//ucf(i18n("changed ownership successfully on"))." ".$object->getPathInTree(); else $stderr = ucf(i18n("failed to change ownership on"))." ".$object->getPathInTree(); } } } else { $stdout = "Usage: chown [username].[groupname] [path] [-R]\n"; $stdout .= "Example: chown admin.admins /root"; } return true; }
function exec($args, $stdin, &$stdout, &$stderr, &$system) { if (!empty($args)) { $args_split = splitArgs($args); if (count($args_split) >= 2) { $source = $args_split[0]; $target = $args_split[1]; if ($source{0} != "/") $source = $_SESSION['murrix']['path']."/$source"; $source_node_id = getNode($source); if ($source_node_id <= 0) { $stderr = ucf(i18n("no such path")).": $source"; return true; } else $source = new mObject($source_node_id); if (!(isAdmin() || $source->hasRight("write"))) { $stderr = ucf(i18n("not enough rights on source")); return true; } if ($target{0} != "/") $target = $_SESSION['murrix']['path']."/$target"; $target_node_id = getNode($target); if ($target_node_id <= 0) { $stderr = ucf(i18n("no such path")).": $target"; return true; } else $target = new mObject($target_node_id); if (!(isAdmin() || $target->hasRight("write"))) { $stderr = ucf(i18n("not enough rights on target")); return true; } $parent_node_id = getNode($_SESSION['murrix']['path']); $source->linkWithNode($target->getNodeId(), "sub"); $source->unlinkWithNode($parent_node_id, "sub", "bottom"); clearNodeFileCache($source->getNodeId()); clearNodeFileCache($target->getNodeId()); clearNodeFileCache(getNode($_SESSION['murrix']['path'])); $stdout = ucf(i18n("moved node successfully")); } } else { $stdout = "Usage: omove [sourcepath] [targetpath]\n"; $stdout .= "Example: omove \"/root/home\" \"/root/public\""; } return true; }
function splitArgs(&$args) { $params = []; $nargs = count($args); for ($i = 0; $i < $nargs; $i++) { $arg = $args[$i]; $eq = strpos($arg, '='); if ($eq) { $data = explode('=', $arg); $params[$data[0]] = $data[1]; unset($args[$i]); } } return $params; } $params = splitArgs($argv); $cmd = array_shift($argv); switch ($cmd) { case 'list': dblist(); break; case 'create': dbcreate($argv, $params); break; default: error("Hmm: I don't know what to do with: " . $cmd); } function dblist() { global $dbh; $dbs = $dbh->query("show databases");