Exemplo n.º 1
0
	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;
	}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
	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;
	}
Exemplo n.º 4
0
	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;
	}
Exemplo n.º 5
0
	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;
	}
Exemplo n.º 6
0
	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;
	}
Exemplo n.º 7
0
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");