Esempio n. 1
0
 /**
  * Generates a unique hash for identification purposes.
  *
  * @param string $source_path
  *   Source path of the redirect.
  * @param array $source_query
  *   Source query as an array.
  * @param string $language
  *   Redirect language.
  *
  * @return string
  *   Base 64 hash.
  */
 public static function generateHash($source_path, array $source_query, $language)
 {
     $hash = array('source' => Unicode::strtolower($source_path), 'language' => $language);
     if (!empty($source_query)) {
         $hash['source_query'] = $source_query;
     }
     redirect_sort_recursive($hash, 'ksort');
     return Crypt::hashBase64(serialize($hash));
 }
Esempio n. 2
0
 /**
  * Test redirect_sort_recursive().
  */
 public function testSortRecursive()
 {
     $test_cases = array(array('input' => array('b' => 'aa', 'c' => array('c2' => 'aa', 'c1' => 'aa'), 'a' => 'aa'), 'expected' => array('a' => 'aa', 'b' => 'aa', 'c' => array('c1' => 'aa', 'c2' => 'aa')), 'callback' => 'ksort'));
     foreach ($test_cases as $index => $test_case) {
         $output = $test_case['input'];
         redirect_sort_recursive($output, $test_case['callback']);
         $this->assertIdentical($output, $test_case['expected']);
     }
 }