public static function generateToken() { $token = GWF_Random::randomKey(self::TOKEN_LENGTH); $ua = new self(false); if (false !== $ua->selectFirst('1', sprintf('token=\'%s\'', $ua->escape($token)))) { return self::generateToken(); } return $token; }
private function get_value($v) { if ($v instanceof self) { $v = $v->get(); } else { if (is_bool($v)) { $v = $v ? 'true' : 'false'; } else { if ($v === '') { $v = null; } else { if (is_array($v) || is_object($v)) { $r = ''; foreach ($v as $k => $c) { if (is_numeric($k) && is_object($c)) { $e = explode('\\', get_class($c)); $k = array_pop($e); } if (is_numeric($k)) { $k = 'data'; } $x = new self($k, $c); $x->escape($this->esc); $r .= $x->get(); } $v = $r; } else { if ($this->esc && strpos($v, '<![CDATA[') === false && preg_match("/&|<|>|\\&[^#\\da-zA-Z]/", $v)) { $v = '<![CDATA[' . $v . ']]>'; } } } } } return $v; }
/** * 匿名タグとしてインスタンス生成 * @param string $value * @return self */ public static function anonymous($value) { $xml = new self('XML' . uniqid()); $xml->escape(false); $xml->value($value); $xml->escape(true); return $xml; }
public static function hookRenameUser(GWF_User $user, $new_username) { $uid = $user->getID(); $posts = new self(false); $new_username = $posts->escape($new_username); if (false === $posts->update("post_eusername='******'", "post_euid={$uid}")) { return GWF_HTML::err('ERR_DATABASE', __FILE__, __LINE__); } return true; }