本文整理汇总了PHP中TeamSpeak3_Helper_String::factory方法的典型用法代码示例。如果您正苦于以下问题:PHP TeamSpeak3_Helper_String::factory方法的具体用法?PHP TeamSpeak3_Helper_String::factory怎么用?PHP TeamSpeak3_Helper_String::factory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TeamSpeak3_Helper_String
的用法示例。
在下文中一共展示了TeamSpeak3_Helper_String::factory方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fetchObject
/**
* Returns the code needed to display a node in a TeamSpeak 3 viewer.
*
* @param TeamSpeak3_Node_Abstract $node
* @param array $siblings
* @return string
*/
public function fetchObject(TeamSpeak3_Node_Abstract $node, array $siblings = array())
{
$this->currObj = $node;
$this->currSib = $siblings;
$args = array($this->getPrefix(), $this->getCorpusIcon(), $this->getCorpusName());
return TeamSpeak3_Helper_String::factory($this->pattern)->arg($args);
}
示例2: connect
/**
* Connects to a remote server.
*
* @throws TeamSpeak3_Transport_Exception
* @return void
*/
public function connect()
{
if ($this->stream !== null) {
return;
}
$host = strval($this->config["host"]);
$port = strval($this->config["port"]);
$address = "udp://" . $host . ":" . $port;
$timeout = intval($this->config["timeout"]);
$this->stream = @stream_socket_client($address, $errno, $errstr, $timeout);
if ($this->stream === FALSE) {
throw new TeamSpeak3_Transport_Exception(TeamSpeak3_Helper_String::factory($errstr)->toUtf8()->toString(), $errno);
}
@stream_set_timeout($this->stream, $timeout);
@stream_set_blocking($this->stream, $this->config["blocking"] ? 1 : 0);
}
示例3: snapshotDeploy
/**
* Deploys snapshot data on the selected virtual server. If no virtual server is selected (ID 0),
* the data will be used to create a new virtual server from scratch.
*
* @param string $data
* @param string $mode
* @return array
*/
public function snapshotDeploy($data, $mode = TeamSpeak3::SNAPSHOT_STRING)
{
switch ($mode) {
case TeamSpeak3::SNAPSHOT_BASE64:
$data = TeamSpeak3_Helper_String::fromBase64($data);
break;
case TeamSpeak3::SNAPSHOT_HEXDEC:
$data = TeamSpeak3_Helper_String::fromHex($data);
break;
default:
$data = TeamSpeak3_Helper_String::factory($data);
break;
}
$detail = $this->request("serversnapshotdeploy " . $data)->toList();
if (array_key_exists("sid", $detail)) {
TeamSpeak3_Helper_Signal::getInstance()->emit("notifyServercreated", $this->getParent(), $detail["sid"]);
}
return $detail;
}
示例4: fetchObject
/**
* Returns the code needed to display a node in a TeamSpeak 3 viewer.
*
* @param TeamSpeak3_Node_Abstract $node
* @param array $siblings
* @return string
*/
public function fetchObject(TeamSpeak3_Node_Abstract $node, array $siblings = array())
{
$this->currObj = $node;
$this->currSib = $siblings;
$args = array($this->getContainerIdent(), $this->getContainerClass(), $this->getContainerSummary(), $this->getRowClass(), $this->getPrefixClass(), $this->getPrefix(), $this->getCorpusClass(), $this->getCorpusTitle(), $this->getCorpusIcon(), $this->getCorpusName(), $this->getSuffixClass(), $this->getSuffixIcon(), $this->getSuffixFlag());
return TeamSpeak3_Helper_String::factory($this->pattern)->arg($args);
}
示例5: getAdapterType
/**
* Returns the adapter type.
*
* @return string
*/
public function getAdapterType()
{
if ($this->adapter instanceof TeamSpeak3_Adapter_Abstract) {
$string = TeamSpeak3_Helper_String::factory(get_class($this->adapter));
return $string->substr($string->findLast("_"))->replace(array("_", " "), "")->toString();
}
return "Unknown";
}
示例6: prepare
/**
* Uses given parameters and returns a prepared ServerQuery command.
*
* @param string $cmd
* @param array $params
* @return string
*/
public function prepare($cmd, array $params = array())
{
$args = array();
$cells = array();
foreach ($params as $ident => $value) {
$ident = is_numeric($ident) ? "" : strtolower($ident) . TeamSpeak3::SEPARATOR_PAIR;
if (is_array($value)) {
$value = array_values($value);
for ($i = 0; $i < count($value); $i++) {
if ($value[$i] === null) {
continue;
} elseif ($value[$i] === FALSE) {
$value[$i] = 0x0;
} elseif ($value[$i] === TRUE) {
$value[$i] = 0x1;
} elseif ($value[$i] instanceof TeamSpeak3_Node_Abstract) {
$value[$i] = $value[$i]->getId();
}
$cells[$i][] = $ident . TeamSpeak3_Helper_String::factory($value[$i])->escape()->toUtf8();
}
} else {
if ($value === null) {
continue;
} elseif ($value === FALSE) {
$value = 0x0;
} elseif ($value === TRUE) {
$value = 0x1;
} elseif ($value instanceof TeamSpeak3_Node_Abstract) {
$value = $value->getId();
}
$args[] = $ident . TeamSpeak3_Helper_String::factory($value)->escape()->toUtf8();
}
}
foreach (array_keys($cells) as $ident) {
$cells[$ident] = implode(TeamSpeak3::SEPARATOR_CELL, $cells[$ident]);
}
if (count($args)) {
$cmd .= " " . implode(TeamSpeak3::SEPARATOR_CELL, $args);
}
if (count($cells)) {
$cmd .= " " . implode(TeamSpeak3::SEPARATOR_LIST, $cells);
}
return trim($cmd);
}
示例7: whoamiSet
/**
* Sets a single value in the current ServerQuery connection info.
*
* @param string $ident
* @param mixed $value
* @return mixed
*/
public function whoamiSet($ident, $value = null)
{
$this->whoami();
$this->whoami[$ident] = is_numeric($value) ? intval($value) : TeamSpeak3_Helper_String::factory($value);
}
示例8: getInfo
/**
* Returns all information available on this node. If $convert is enabled, some property
* values will be converted to human-readable values.
*
* @param boolean $extend
* @param boolean $convert
* @return array
*/
public function getInfo($extend = TRUE, $convert = FALSE)
{
if ($extend) {
$this->fetchNodeInfo();
}
if ($convert) {
$info = $this->nodeInfo;
foreach ($info as $key => $val) {
$key = TeamSpeak3_Helper_String::factory($key);
if ($key->contains("_bytes_")) {
$info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val);
} elseif ($key->contains("_bandwidth_")) {
$info[$key->toString()] = TeamSpeak3_Helper_Convert::bytes($val) . "/s";
} elseif ($key->contains("_packets_")) {
$info[$key->toString()] = number_format($val, null, null, ".");
} elseif ($key->contains("_packetloss_")) {
$info[$key->toString()] = sprintf("%01.2f", floatval($val->toString()) * 100) . "%";
} elseif ($key->endsWith("_uptime")) {
$info[$key->toString()] = TeamSpeak3_Helper_Convert::seconds($val);
} elseif ($key->endsWith("_icon_id")) {
$info[$key->toString()] = $this->iconGetName($key)->filterDigits();
}
}
return $info;
}
return $this->nodeInfo;
}
示例9: logEntry
/**
* Converts a specified log entry string into an array containing the data.
*
* @param string $entry
* @return array
*/
public static function logEntry($entry)
{
$parts = explode("|", $entry, 5);
$array = array();
if (count($parts) != 5) {
$array["timestamp"] = 0;
$array["level"] = TeamSpeak3::LOGLEVEL_ERROR;
$array["channel"] = "ParamParser";
$array["server_id"] = "";
$array["msg"] = TeamSpeak3_Helper_String::factory("convert error (" . trim($entry) . ")");
$array["msg_plain"] = $entry;
$array["malformed"] = TRUE;
} else {
$array["timestamp"] = strtotime(trim($parts[0]));
$array["level"] = self::logLevel(trim($parts[1]));
$array["channel"] = trim($parts[2]);
$array["server_id"] = trim($parts[3]);
$array["msg"] = TeamSpeak3_Helper_String::factory(trim($parts[4]));
$array["msg_plain"] = $entry;
$array["malformed"] = FALSE;
}
return $array;
}
示例10: getAdapterName
/**
* Returns the name of an adapter class by $name.
*
* @param string $name
* @param string $namespace
* @throws TeamSpeak3_Adapter_Exception
* @return string
*/
protected static function getAdapterName($name, $namespace = "TeamSpeak3_Adapter_")
{
$path = self::getFilePath($namespace);
$scan = scandir($path);
foreach ($scan as $node) {
$file = TeamSpeak3_Helper_String::factory($node)->toLower();
if ($file->startsWith($name) && $file->endsWith(".php")) {
return $namespace . str_replace(".php", "", $node);
}
}
throw new TeamSpeak3_Adapter_Exception("adapter '" . $name . "' does not exist");
}
示例11: readLine
/**
* Reads a single line of data from the stream.
*
* @param string $token
* @throws TeamSpeak3_Transport_Exception
* @return TeamSpeak3_Helper_String
*/
public function readLine($token = "\n")
{
$this->connect();
$line = TeamSpeak3_Helper_String::factory("");
while (!$line->endsWith($token)) {
$this->waitForReadyRead();
$data = @fgets($this->stream, 4096);
TeamSpeak3_Helper_Signal::getInstance()->emit(strtolower($this->getAdapterType()) . "DataRead", $data);
if ($data === FALSE) {
if ($line->count()) {
$line->append($token);
} else {
throw new TeamSpeak3_Transport_Exception("connection to server '" . $this->config["host"] . ":" . $this->config["port"] . "' lost");
}
} else {
$line->append($data);
}
}
return $line->trim();
}
示例12: permissionList
/**
* Returns a list of permissions available on the server instance.
*
* @return array
*/
public function permissionList()
{
if ($this->permissionList === null) {
$this->fetchPermissionList();
}
foreach ($this->permissionList as $permname => $permdata) {
if (isset($permdata["permcatid"]) && $permdata["permgrant"]) {
continue;
}
$this->permissionList[$permname]["permcatid"] = $this->permissionGetCategoryById($permdata["permid"]);
$this->permissionList[$permname]["permgrant"] = $this->permissionGetGrantById($permdata["permid"]);
$grantsid = "i_needed_modify_power_" . substr($permname, 2);
if (!$permdata["permname"]->startsWith("i_needed_modify_power_") && !isset($this->permissionList[$grantsid])) {
$this->permissionList[$grantsid]["permid"] = $this->permissionList[$permname]["permgrant"];
$this->permissionList[$grantsid]["permname"] = TeamSpeak3_Helper_String::factory($grantsid);
$this->permissionList[$grantsid]["permdesc"] = null;
$this->permissionList[$grantsid]["permcatid"] = 0xff;
$this->permissionList[$grantsid]["permgrant"] = $this->permissionList[$permname]["permgrant"];
}
}
return $this->permissionList;
}
示例13: serverGroupGetProfiles
/**
* Returns an ordered array of regular server groups available based on a pre-defined
* set of rules.
*
* @return array
*/
public function serverGroupGetProfiles()
{
$profiles = array();
foreach ($this->serverGroupList() as $sgid => $sgroup) {
if ($sgroup["type"] != TeamSpeak3::GROUP_DBTYPE_REGULAR) {
continue;
}
$profiles[$sgid] = array("b_permission_modify_power_ignore" => 0, "i_group_needed_member_add_power" => 0, "i_group_member_add_power" => 0, "i_group_needed_member_remove_power" => 0, "i_group_member_remove_power" => 0, "i_needed_modify_power_count" => 0, "i_needed_modify_power_total" => 0, "i_permission_modify_power" => 0, "i_group_needed_modify_power" => 0, "i_group_modify_power" => 0, "i_client_needed_modify_power" => 0, "i_client_modify_power" => 0, "b_virtualserver_servergroup_create" => 0, "b_virtualserver_servergroup_delete" => 0, "b_client_ignore_bans" => 0, "b_client_ignore_antiflood" => 0, "b_group_is_permanent" => 0, "i_client_needed_ban_power" => 0, "i_client_needed_kick_power" => 0, "i_client_needed_move_power" => 0, "i_client_talk_power" => 0, "__sgid" => $sgid, "__name" => $sgroup->toString(), "__node" => $sgroup);
try {
$perms = $this->serverGroupPermList($sgid, TRUE);
$grant = isset($perms["i_permission_modify_power"]) ? $perms["i_permission_modify_power"]["permvalue"] : null;
} catch (TeamSpeak3_Adapter_ServerQuery_Exception $e) {
/* ERROR_database_empty_result */
if ($e->getCode() != 0x501) {
throw $e;
}
$perms = array();
$grant = null;
}
foreach ($perms as $permsid => $perm) {
if (in_array($permsid, array_keys($profiles[$sgid]))) {
$profiles[$sgid][$permsid] = $perm["permvalue"];
} elseif (TeamSpeak3_Helper_String::factory($permsid)->startsWith("i_needed_modify_power_")) {
if (!$grant || $perm["permvalue"] > $grant) {
continue;
}
$profiles[$sgid]["i_needed_modify_power_total"] = $profiles[$sgid]["i_needed_modify_power_total"] + $perm["permvalue"];
$profiles[$sgid]["i_needed_modify_power_count"]++;
}
}
}
array_multisort($profiles, SORT_DESC);
return $profiles;
}
示例14: snapshotDeploy
/**
* Deploys snapshot data on the virtual server.
*
* @param string $data
* @param string $mode
* @return void
*/
public function snapshotDeploy($data, $mode = TeamSpeak3::SNAPSHOT_STRING)
{
switch ($mode) {
case TeamSpeak3::SNAPSHOT_BASE64:
$data = TeamSpeak3_Helper_String::fromBase64($data);
break;
case TeamSpeak3::SNAPSHOT_HEXDEC:
$data = TeamSpeak3_Helper_String::fromHex($data);
break;
default:
$data = TeamSpeak3_Helper_String::factory($data);
break;
}
$this->request("serversnapshotdeploy " . $data);
}
示例15: fetchPermissionCats
/**
* @ignore
*/
protected function fetchPermissionCats()
{
$permcats = array();
$reflects = new ReflectionClass("TeamSpeak3");
foreach ($reflects->getConstants() as $key => $val) {
if (!TeamSpeak3_Helper_String::factory($key)->startsWith("PERM_CAT") || $val == 0xff) {
continue;
}
$permcats[$key] = $val;
}
$this->permissionCats = $permcats;
}