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')); }
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; }
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)); }