예제 #1
0
 public static function get_lang_options()
 {
     $Lang = PerchLang::fetch();
     $out = array();
     // Addons folder
     if (is_dir(PerchUtil::file_path(PERCH_PATH . '/addons/lang'))) {
         $lang_dir = PerchUtil::file_path(PERCH_PATH . '/addons/lang');
         $files = PerchUtil::get_dir_contents($lang_dir, false);
         if (is_array($files)) {
             foreach ($files as $file) {
                 $out[] = PerchUtil::strip_file_extension($file);
             }
         }
     }
     // Core folder
     $lang_dir = PerchUtil::file_path(PERCH_CORE . '/lang');
     if (is_dir($lang_dir)) {
         $files = PerchUtil::get_dir_contents($lang_dir, false);
         if (is_array($files)) {
             foreach ($files as $file) {
                 $f = PerchUtil::strip_file_extension($file);
                 if (!in_array($f, $out)) {
                     $out[] = $f;
                 }
             }
         }
     }
     if (PerchUtil::count($out)) {
         sort($out);
         return $out;
     }
     return false;
 }
 private function _get_addons($files)
 {
     $items = PerchUtil::get_dir_contents(PERCH_PATH . '/addons');
     if (PerchUtil::count($items)) {
         $out = array();
         foreach ($items as $item) {
             if (strpos($item, 'apps') === false) {
                 $files[] = PERCH_PATH . '/addons/' . $item;
             } else {
                 $apps = PerchUtil::get_dir_contents(PERCH_PATH . '/addons/apps');
                 if (PerchUtil::count($apps)) {
                     foreach ($apps as $app) {
                         if (!strpos($app, 'backup')) {
                             $files[] = PERCH_PATH . '/addons/apps/' . $app;
                         }
                     }
                 }
             }
         }
     }
     return $files;
 }
예제 #3
0
    }
    if ($result) {
        $message = $HTML->success_message('Your post has been successfully updated. Return to %spost listing%s', '<a href="' . $API->app_path() . '">', '</a>');
    } else {
        $message = $HTML->failure_message('Sorry, that post could not be updated.');
    }
    $details = $Post->to_array();
    // clear the caches
    PerchBlog_Cache::expire_all();
    // update category post counts;
    $Posts->update_category_counts();
    $Authors->update_post_counts();
    $Sections->update_post_counts();
    // Has the template changed? If so, need to redirect back to kick things off again.
    if ($data['postTemplate'] != $template) {
        #PerchUtil::redirect($API->app_path() .'/edit/?id='.$Post->id().'&edited=1');
    }
}
if (isset($_GET['edited']) && !$message) {
    $message = $HTML->success_message('Your post has been successfully updated. Return to %spost listing%s', '<a href="' . $API->app_path() . '">', '</a>');
}
// is it a draft?
if (is_object($Post) && $Post->postStatus() == 'Draft') {
    $draft = true;
    $message = $Lang->get('%sYou are editing a draft. %sPreview%s', '<p class="alert draft">', '<a href="' . $HTML->encode($Post->previewURL()) . '" class="action draft-preview">', '</a></p>');
} else {
    $draft = false;
    $url = false;
}
$post_templates = PerchUtil::get_dir_contents(PerchUtil::file_path(PERCH_TEMPLATE_PATH . '/blog/posts'), false);
예제 #4
0
        ?>
/core/assets/css/debug.css" type="text/css" /><?php 
    }
}
?>
    
</head>
<body class="sidebar-closed">
	<div class="main">
		<div class="body">
			<div class="inner">
				<h1>Software Update</h1>

				<ul class="updates">
				<?php 
$files = PerchUtil::get_dir_contents('scripts', false);
$DB = PerchDB::fetch();
if (PerchUtil::count($files)) {
    foreach ($files as $file) {
        if (PerchUtil::file_extension($file) == 'php') {
            include PerchUtil::file_path(PERCH_CORE . '/update/scripts/' . $file);
        }
    }
}
if (!$errors) {
    echo '<li class="icon success">Successfully updated to version ' . $Perch->version . '.</li>';
    $Settings->set($setting_key, 'done');
}
?>
				</ul>
				<?php 
 public static function find_executable_files_in_resources()
 {
     $files = PerchUtil::get_dir_contents(PERCH_RESFILEPATH, false);
     if (PerchUtil::count($files)) {
         $out = array();
         $bad_ext = array('php', 'phtml', 'php3', 'php4', 'php5');
         foreach ($files as $file) {
             $ext = PerchUtil::file_extension($file);
             if (in_array($ext, $bad_ext)) {
                 $out[] = $file;
             }
         }
         if (PerchUtil::count($out)) {
             return $out;
         }
     }
     return false;
 }
$apps = $ScheduledTasks->get_scheduled();
if (PerchUtil::count($apps)) {
    foreach ($apps as $appID => $tasks) {
        $task_list = array();
        echo '<li>Scheduled tasks for ' . $appID . ': ';
        foreach ($tasks as $task) {
            //print_r($task);
            $task_list[] = $task['taskKey'] . ' (' . $task['frequency'] / 60 . ' mins)';
        }
        echo implode(', ', $task_list);
        echo '</li>';
    }
}
?>
            <?php 
echo '<li>Editor plug-ins: ' . implode(', ', PerchUtil::get_dir_contents(PerchUtil::file_path(PERCH_PATH . '/addons/plugins/editors/', true))) . '</li>';
?>
            <li>H1: <?php 
echo PerchUtil::html(md5($_SERVER['SERVER_NAME']));
?>
</li>
            <li>L1: <?php 
echo PerchUtil::html(md5(PERCH_LICENSE_KEY));
?>
</li>
            
            <?php 
$settings = $Settings->get_as_array();
if (PerchUtil::count($settings)) {
    foreach ($settings as $key => $val) {
        echo '<li>' . PerchUtil::html($key . ': ' . $val) . '</li>';
 public function old_get_files_with_prefix($prefix, $subpath = false)
 {
     $out = array();
     $files = PerchUtil::get_dir_contents($this->get_file_path() . $subpath);
     if (PerchUtil::count($files)) {
         foreach ($files as $file) {
             if (substr($file, 0, strlen($prefix)) == $prefix) {
                 $out[] = $file;
             }
         }
     }
     return $out;
 }
 private function _load_app_callbacks()
 {
     $path = PERCH_PATH . '/addons/apps';
     $apps = PerchUtil::get_dir_contents(PerchUtil::file_path($path), true);
     $out = array();
     if (PerchUtil::count($apps)) {
         foreach ($apps as $app) {
             $file = PerchUtil::file_path($path . '/' . $app . '/scheduled_tasks.php');
             if (file_exists($file)) {
                 include $file;
                 $out[] = $app;
             }
         }
     }
     if (PERCH_RUNWAY) {
         include PERCH_CORE . '/runway/scheduled_tasks.php';
     }
     return $out;
 }
예제 #9
0
 public function posterous_process_images($post, $Template)
 {
     $html = $post['postDescHTML'];
     // find posterous URLs
     // <img alt="Img_8371" height="333" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2012-02-04/ybzoAslvztsefCumHsmxEuFjiEutyFpnhGanxcfyunylvDaoAhgpAxChyrnp/IMG_8371.jpg.scaled500.jpg" width="500"/>
     // <a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2012-02-04/ybzoAslvztsefCumHsmxEuFjiEutyFpnhGanxcfyunylvDaoAhgpAxChyrnp/IMG_8371.jpg.scaled1000.jpg">
     $s = '/<img[^>]*src="[^"]*posterous\\.com[^"]*"[^>]*>/';
     $count = preg_match_all($s, $html, $matches);
     $PerchImage = $this->api->get('Image');
     $image_folder = $this->import_folder . '/image/';
     $Perch = Perch::fetch();
     $bucket = $Perch->get_resource_bucket($this->resource_bucket);
     if ($count) {
         foreach ($matches as $match) {
             $Tag = new PerchXMLTag($match[0]);
             // Find the file name
             $parts = explode('/', $Tag->src());
             $filename = array_pop($parts);
             $linkpath = str_replace($filename, '', $Tag->src());
             $fileparts = explode('.scaled', $filename);
             $filename = array_shift($fileparts);
             $linkpath .= $filename;
             // Find the temp-YYYY-MM-DD part of the path to find the image folder
             $s = '/\\/temp-([0-9]{4})-([0-9]{2})-[0-9]{2}\\//';
             $count = preg_match($s, $Tag->src(), $path_matches);
             if ($count) {
                 $folder = PerchUtil::file_path($image_folder . $path_matches[1] . '/' . $path_matches[2] . '/');
                 $files = PerchUtil::get_dir_contents($folder, false);
                 if (PerchUtil::count($files)) {
                     $l = strlen($filename);
                     $image_file = false;
                     foreach ($files as $file) {
                         PerchUtil::debug(substr($file, -$l));
                         if (substr($file, -$l) == $filename) {
                             $image_file = PerchUtil::file_path($folder . $file);
                             break;
                         }
                     }
                     if ($image_file) {
                         $new_image_file = PerchUtil::file_path($bucket['file_path'] . '/' . $file);
                         copy($image_file, $new_image_file);
                         $new_image = $PerchImage->resize_image($new_image_file, (int) $Tag->width(), (int) $Tag->height());
                         $img_html = '<img src="' . $new_image['web_path'] . '" width="' . $new_image['w'] . '" height="' . $new_image['h'] . '" alt="' . PerchUtil::html($Tag->alt()) . '" />';
                         if (defined('PERCH_XHTML_MARKUP') && PERCH_XHTML_MARKUP == false) {
                             $img_html = str_replace(' />', '>', $img_html);
                         }
                         $html = str_replace($match[0], $img_html, $html);
                         // find links to the bigger version
                         $s = '/<a[^>]*href="' . preg_quote($linkpath, '/') . '[^"]*"[^>]*>/';
                         $s = preg_replace('#getfile[0-9]{1,2}#', 'getfile[0-9]{1,2}', $s);
                         $count = preg_match_all($s, $html, $link_matches);
                         if ($count) {
                             $big_image = $PerchImage->resize_image($new_image_file, (int) $Tag->width() * 2, (int) $Tag->height() * 2);
                             $link_html = '<a href="' . $big_image['web_path'] . '">';
                             foreach ($link_matches as $link_match) {
                                 $html = str_replace($link_match[0], $link_html, $html);
                             }
                         } else {
                             PerchUtil::debug('FAIL', 'error');
                             PerchUtil::debug($new_image);
                             PerchUtil::debug($s);
                             PerchUtil::debug($link_matches);
                         }
                     }
                 }
             }
         }
     }
     $post['postDescHTML'] = $html;
     $post['postDescRaw'] = $html;
     return $post;
 }