foreach (dmDb::table('dmTestPost')->findAll() as $post) { if (!($page = $post->getDmPage())) { $t->skip('Post ' . $post . ' has no page', 6); continue; } $page->refresh(true); $categ = $page->getNode()->getParent()->getRecord(); $domain = $page->getNode()->getParent()->getNode()->getParent()->getRecord(); $t->is($post->isActive, $page->isActive, 'is_active field synchronized to ' . ($post->isActive ? 'TRUE' : 'FALSE')); $slug = 'dm-test-domains/' . $domain->id . '-' . dmString::slugify($domain->title) . '/' . $categ->id . '-' . dmString::slugify($categ->name) . '/' . dmString::slugify($post->title) . '-' . $post->id; $slug = dmSeoSynchronizer::truncateValueForField($slug, 'slug'); $t->is($page->slug, $slug, 'slug : ' . $slug); $name = 'Post : ' . trim($post->title); $name = dmSeoSynchronizer::truncateValueForField($name, 'name'); $t->is($page->name, $name, 'name : ' . $name); $title = ucfirst(trim($post->title) . ' | ' . trim($categ->name)); $title = dmSeoSynchronizer::truncateValueForField($title, 'title'); $t->is($page->title, $title, 'title : ' . $title); $h1 = trim($post->title); $h1 = dmSeoSynchronizer::truncateValueForField($h1, 'h1'); $t->is($page->h1, $h1, 'h1 : ' . $h1); $description = dmSeoSynchronizer::truncateValueForField(dmMarkdown::brutalToText($post->body), 'description'); $t->is($page->description, $description ? $description : null, 'description : ' . $description); } $t->comment('Add inactive domain'); $domain = dmDb::table('DmTestDomain')->create(array('title' => 'a domain', 'is_active' => false))->saveGet(); $domain->refresh(); $t->comment('created domain ' . $domain->id); $helper->updatePageTreeWatcher($t); $t->isa_ok($page = $domain->dmPage, 'DmPage', 'domain has a page'); $t->ok(!$page->isActive, 'domain page is not active');
public static function getFieldMaxLength($field) { if (null === self::$truncateCache) { $truncateConfig = sfConfig::get('dm_seo_truncate'); self::$truncateCache = array(); foreach (DmPage::getAutoSeoFields() as $seoField) { self::$truncateCache[$seoField] = dmArray::get($truncateConfig, $seoField, 255); } } return self::$truncateCache[$field]; }