• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
  • Класс: CSocNetLogTools
  • Вызов: CSocNetLogTools::__DestinationRightsSort
function __DestinationRightsSort($a, $b)
		{
			if ($a == $b)
			{
				return 0;
			}

			if (preg_match('/^USd+$/', $a))
			{
				return -1;
			}
			elseif (in_array($a, array("G2", "AU")))
			{
				if (in_array($b, array("G2", "AU")))
				{
					return 0;
				}

				if (preg_match('/^USd+$/', $b))
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMDEALd+$/', $a))
			{
				if (preg_match('/^CRMDEALd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMCONTACTd+$/', $a))
			{
				if (preg_match('/^CRMCONTACTd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMCOMPANYd+$/', $a))
			{
				if (preg_match('/^CRMCOMPANYd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMLEADd+$/', $a))
			{
				if (preg_match('/^CRMLEADd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMDYNAMICd+ENTITYd+$/', $a))
			{
				if (preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $a))
			{
				if (preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $a))
			{
				if (preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $a))
			{
				if (preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $a))
			{
				if (preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^Dd+$/', $a))
			{
				if (preg_match('/^Dd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif (preg_match('/^DRd+$/', $a))
			{
				if (preg_match('/^DRd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, array("G2", "AU"))
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $b)
					|| preg_match('/^Dd+$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif(preg_match('/^Ud+$/', $a))
			{
				if (preg_match('/^Ud+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, [ "G2", "AU" ])
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $b)
					|| preg_match('/^Dd+$/', $b)
					|| preg_match('/^DRd+$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			elseif(preg_match('/^Gd+$/', $a))
			{
				if (preg_match('/^Gd+$/', $b))
				{
					return 0;
				}

				if (
					preg_match('/^USd+$/', $b)
					|| in_array($b, [ "G2", "AU" ])
					|| preg_match('/^SGd+_'.SONET_ROLES_USER.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_MODERATOR.'$/', $b)
					|| preg_match('/^SGd+_'.SONET_ROLES_OWNER.'$/', $b)
					|| preg_match('/^Dd+$/', $b)
					|| preg_match('/^DRd+$/', $b)
					|| preg_match('/^Ud+$/', $b)
					|| preg_match('/^CRMDEALd+$/', $b)
					|| preg_match('/^CRMCONTACTd+$/', $b)
					|| preg_match('/^CRMCOMPANYd+$/', $b)
					|| preg_match('/^CRMLEADd+$/', $b)
					|| preg_match('/^CRMDYNAMICd+ENTITYd+$/', $b)
					|| preg_match('/^CRMSUSDYNAMICd+ENTITYd+$/', $b)
				)
				{
					return 1;
				}

				return -1;
			}
			else
			{
				return 0;
			}
		}