Exemple #1
0
 public function test_str_to_bool()
 {
     $this->assertTrue(util::str_to_bool('true'));
     $this->assertTrue(util::str_to_bool('yes'));
     $this->assertTrue(util::str_to_bool('y'));
     $this->assertFalse(util::str_to_bool('false'));
     $this->assertFalse(util::str_to_bool('no'));
     $this->assertFalse(util::str_to_bool('n'));
 }
Exemple #2
0
 public function getUri($title, $id = 0, $contenttypeslug, $fulluri = true)
 {
     $contenttype = $this->getContentType($contenttypeslug);
     $tablename = $this->prefix . $contenttype['slug'];
     $id = intval($id);
     $fulluri = util::str_to_bool($fulluri);
     $slug = makeSlug($title);
     // don't allow strictly numeric slugs.
     if (is_numeric($slug)) {
         $slug = $contenttype['singular_slug'] . "-" . $slug;
     }
     // Only add 'entry/' if $full is requested.
     if ($fulluri) {
         $prefix = "/" . $contenttype['singular_slug'] . "/";
     }
     $query = "SELECT id from {$tablename} WHERE slug='{$slug}' and id!='{$id}';";
     $res = $this->db->query($query)->fetch();
     if (!$res) {
         $uri = $prefix . $slug;
     } else {
         for ($i = 1; $i <= 10; $i++) {
             $newslug = $slug . '-' . $i;
             $query = "SELECT id from {$tablename} WHERE slug='{$newslug}' and id!='{$id}';";
             $res = $this->db->query($query)->fetch();
             if (!$res) {
                 $uri = $prefix . $newslug;
                 break;
             }
         }
         // otherwise, just get a random slug.
         if (empty($uri)) {
             $slug = trimText($slug, 32, false, false) . "-" . makeKey(6);
             $uri = $prefix . $slug;
         }
     }
     return $uri;
 }
Exemple #3
0
 public function test_str_to_bool()
 {
     $this->assertTrue(util::str_to_bool('true'));
     $this->assertTrue(util::str_to_bool('yes'));
     $this->assertTrue(util::str_to_bool('y'));
     $this->assertTrue(util::str_to_bool('oui'));
     $this->assertTrue(util::str_to_bool('vrai'));
     $this->assertFalse(util::str_to_bool('false'));
     $this->assertFalse(util::str_to_bool('no'));
     $this->assertFalse(util::str_to_bool('n'));
     $this->assertFalse(util::str_to_bool('non'));
     $this->assertFalse(util::str_to_bool('faux'));
     $this->assertFalse(util::str_to_bool('test', false));
 }