<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.spoofchecker" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">

 <title>The Spoofchecker class</title>
 <titleabbrev>Spoofchecker</titleabbrev>

 <partintro>

<!-- {{{ Spoofchecker intro -->
  <section xml:id="spoofchecker.intro">
   &reftitle.intro;
   <para>
    This class is provided because Unicode contains large number of characters
    and incorporates the varied writing systems of the world and their incorrect
    usage can expose programs or systems to possible security attacks using
    characters similarity.
   </para>
   <para>
    Provided methods allow to check whether an individual string is likely an attempt
    at confusing the reader (<literal>spoof detection</literal>), such as  "pаypаl"
    spelled with Cyrillic 'а' characters.
   </para>
  </section>
<!-- }}} -->

  <section xml:id="spoofchecker.synopsis">
   &reftitle.classsynopsis;

<!-- {{{ Synopsis -->
   <classsynopsis class="class">
    <ooclass>
     <classname>Spoofchecker</classname>
    </ooclass>

    <classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.single-script-confusable">Spoofchecker::SINGLE_SCRIPT_CONFUSABLE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.mixed-script-confusable">Spoofchecker::MIXED_SCRIPT_CONFUSABLE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.whole-script-confusable">Spoofchecker::WHOLE_SCRIPT_CONFUSABLE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.any-case">Spoofchecker::ANY_CASE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.single-script">Spoofchecker::SINGLE_SCRIPT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.invisible">Spoofchecker::INVISIBLE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.char-limit">Spoofchecker::CHAR_LIMIT</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.ascii">Spoofchecker::ASCII</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.highly-restrictive">Spoofchecker::HIGHLY_RESTRICTIVE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.moderately-restrictive">Spoofchecker::MODERATELY_RESTRICTIVE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.minimally-restrictive">Spoofchecker::MINIMALLY_RESTRICTIVE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.unrestrictive">Spoofchecker::UNRESTRICTIVE</varname>
    </fieldsynopsis>
    <fieldsynopsis>
     <modifier>public</modifier>
     <modifier>const</modifier>
     <type>int</type>
     <varname linkend="spoofchecker.constants.single-script-restrictive">Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE</varname>
    </fieldsynopsis>

    <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.spoofchecker')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='Spoofchecker'])">
     <xi:fallback/>
    </xi:include>
    <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.spoofchecker')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='Spoofchecker'])">
     <xi:fallback/>
    </xi:include>
   </classsynopsis>
<!-- }}} -->

  </section>


  <section xml:id="spoofchecker.constants">
   &reftitle.constants;
   <variablelist>
    <varlistentry xml:id="spoofchecker.constants.single-script-confusable">
     <term><constant>Spoofchecker::SINGLE_SCRIPT_CONFUSABLE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.mixed-script-confusable">
     <term><constant>Spoofchecker::MIXED_SCRIPT_CONFUSABLE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.whole-script-confusable">
     <term><constant>Spoofchecker::WHOLE_SCRIPT_CONFUSABLE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.any-case">
     <term><constant>Spoofchecker::ANY_CASE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.single-script">
     <term><constant>Spoofchecker::SINGLE_SCRIPT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.invisible">
     <term><constant>Spoofchecker::INVISIBLE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.char-limit">
     <term><constant>Spoofchecker::CHAR_LIMIT</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.ascii">
     <term><constant>Spoofchecker::ASCII</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.highly-restrictive">
     <term><constant>Spoofchecker::HIGHLY_RESTRICTIVE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.moderately-restrictive">
     <term><constant>Spoofchecker::MODERATELY_RESTRICTIVE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.minimally-restrictive">
     <term><constant>Spoofchecker::MINIMALLY_RESTRICTIVE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.unrestrictive">
     <term><constant>Spoofchecker::UNRESTRICTIVE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>

    <varlistentry xml:id="spoofchecker.constants.single-script-restrictive">
     <term><constant>Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE</constant></term>
     <listitem>
      <para/>
     </listitem>
    </varlistentry>
   </variablelist>
  </section>

  <section role="changelog">
  &reftitle.changelog;
  <informaltable>
   <tgroup cols="2">
    <thead>
     <row>
      <entry>&Version;</entry>
      <entry>&Description;</entry>
     </row>
    </thead>
    <tbody>
     <row>
      <entry>7.3.0</entry>
      <entry>
       Class constants used by <function>Spoofchecker::setRestrictionLevel</function> such as <constant>Spoofchecker::ASCII</constant>, <constant>Spoofchecker::HIGHLY_RESTRICTIVE</constant>, <constant>Spoofchecker::MODERATELY_RESTRICTIVE</constant>, <constant>Spoofchecker::MINIMALLY_RESTRICTIVE</constant>, <constant>Spoofchecker::UNRESTRICTIVE</constant>, <constant>Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE</constant> has been added.
      </entry>
     </row>
    </tbody>
   </tgroup>
  </informaltable>
 </section>
  
 </partintro>

 &reference.intl.entities.spoofchecker;

</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
