Exemplo n.º 1
0
function run_url_relations($task, $args)
{
    ini_set("memory_limit", "2048M");
    define('SF_ROOT_DIR', sfConfig::get('sf_root_dir'));
    define('SF_APP', 'frontend');
    define('SF_ENVIRONMENT', 'dev');
    define('SF_DEBUG', false);
    sfConfig::set("sf_use_relations_cache", false);
    require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php';
    $databaseManager = new sfDatabaseManager();
    $databaseManager->initialize();
    echo_cms_title("GENERATING URL RELATION CACHE...");
    if (!class_exists("FileHelper")) {
        include sfConfig::get('sf_root_dir') . "/lib/helper/FileHelper.php";
    }
    $urlRelationsFile = sfConfig::get('sf_root_dir') . "/cache/objcache/urlRelations.php";
    try {
        $c = new Criteria();
        $rewriteUrls = UrlrewritePeer::doSelect($c);
        echo_cms("Processing urls :");
        $i = 0;
        $content = "<?php \n";
        foreach ($rewriteUrls as $singleUrl) {
            $content .= "\$_UrlRel['" . $singleUrl->getlabel() . "'] = " . $singleUrl->getPageId() . ";\n";
            $i++;
        }
        echo " ====> " . $i . " urls cached\n";
        $content .= "\n?>";
        if (FileHelper::writeFile($urlRelationsFile, $content)) {
            echo_cms($urlRelationsFile . " Written successfully");
        } else {
            echo_cms_error("Error writing " . $urlRelationsFile . " !");
        }
        //echo_cms_sep();
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage();
    }
    sfConfig::set("sf_use_relations_cache", true);
    //echo_cms_sep();
}
Exemplo n.º 2
0
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(UrlrewritePeer::ID, $pks, Criteria::IN);
         $objs = UrlrewritePeer::doSelect($criteria, $con);
     }
     return $objs;
 }