示例#1
0
文件: posts.php 项目: maminu/JSPHP1
 public function viewPost($postId)
 {
     $id = $postId;
     $posts = $return = array();
     $template = '';
     //$posts = $this->ksdb->dbselect('posts', array('*'));
     $query = $this->ksdb->db->prepare("SELECT * FROM posts WHERE id = " . $id);
     try {
         $query->execute();
         for ($i = 0; $row = $query->fetch(); $i++) {
             $return[$i] = array();
             foreach ($row as $key => $rowitem) {
                 $return[$i][$key] = $rowitem;
             }
         }
     } catch (PDOException $e) {
         echo $e->getMessage();
     }
     $posts = $return;
     //$posts = $this->ksdb->dbselect('posts', array('*'),array('id' => $id));
     $markdown = new Michelf\Markdown();
     $posts[0]['content'] = $markdown->defaultTransform($posts[0]['content']);
     $postComments = $this->comments->getComments($posts[0]['id']);
     $template = 'view-post.php';
     include_once 'frontend/templates/' . $template;
 }
示例#2
0
文件: index.php 项目: maminu/JSPHP1
 public function viewpost($postid)
 {
     $id = $postid;
     $posts = $this->ksdb->dbselect('posts', array('*'), array('id' => $id));
     $markdown = new Michelf\Markdown();
     $posts[0]['content'] = $markdown->defaultTransform($posts[0]['content']);
     $postcomments = $this->comments->getcomments($posts[0]['id']);
     $template = 'view-post.php';
     include_once 'frontend/templates/' . $template;
 }
示例#3
0
文件: Note.php 项目: JCQS04/myimouto
 public function formatted_body()
 {
     $parser = new Michelf\Markdown();
     $parser->no_markup = true;
     $html = $parser->transform($this->body);
     if (preg_match_all('~(<p>&lt;tn>.+?&lt;/tn></p>)~s', $html, $ms)) {
         foreach ($ms[1] as $m) {
             $html = str_replace($m, nl2br('<p class="tn">' . substr($m, 10, -12) . '</p>'), $html);
         }
     }
     return $html;
 }
示例#4
0
 public function toFormattedText($text)
 {
     $autoloader = realpath(dirname(__FILE__) . '/../vendor/autoload.php');
     if (file_exists('Markdown.php')) {
         require_once 'Markdown.php';
     } else {
         if (file_exists($autoloader)) {
             require_once $autoloader;
         }
     }
     $md = new \Michelf\Markdown();
     $md->empty_element_suffix = '>';
     return $md->transform(trim($text));
 }
 /**
  * Display help.
  * @param $args array
  * @param $request PKPRequest
  */
 function index($args, $request)
 {
     require_once 'lib/pkp/lib/vendor/michelf/php-markdown/Michelf/Markdown.inc.php';
     $path = 'docs/manual/';
     $filename = join('/', $request->getRequestedArgs());
     // If a hash (anchor) was specified, discard it -- we don't need it here.
     if ($hashIndex = strpos($filename, '#')) {
         $hash = substr($filename, $hashIndex + 1);
         $filename = substr($filename, 0, $hashIndex);
     } else {
         $hash = null;
     }
     $language = AppLocale::getIso1FromLocale(AppLocale::getLocale());
     if (!file_exists($path . $language)) {
         $language = 'en';
     }
     // Default
     if (!$filename || !preg_match('#^([[a-zA-Z0-9_-]+/)+[a-zA-Z0-9_-]+\\.\\w+$#', $filename) || !file_exists($path . $filename)) {
         $request->redirect(null, null, null, array($language, 'SUMMARY.md'));
     }
     // Use the summary document to find next/previous links.
     // (Yes, we're grepping markdown outside the parser, but this is much faster.)
     $previousLink = $nextLink = null;
     if (preg_match_all('/\\(([^)]+\\.md)\\)/sm', file_get_contents($path . $language . '/SUMMARY.md'), $matches)) {
         $matches = $matches[1];
         if (($i = array_search(substr($filename, strpos($filename, '/') + 1), $matches)) !== false) {
             if ($i > 0) {
                 $previousLink = $matches[$i - 1];
             }
             if ($i < count($matches) - 1) {
                 $nextLink = $matches[$i + 1];
             }
         }
     }
     // Use a URL filter to prepend the current path to relative URLs.
     $parser = new \Michelf\Markdown();
     $parser->url_filter_func = function ($url) use($filename) {
         return dirname($filename) . '/' . $url;
     };
     return new JSONMessage(true, array('content' => $parser->transform(file_get_contents($path . $filename)), 'previous' => $previousLink, 'next' => $nextLink));
 }
 function getBlock()
 {
     // TO DO: this needs to run through eatStaticStorage
     if (file_exists(DATA_ROOT . '/blocks/' . $this->block_file . '.txt')) {
         $this->content = $this->read_file(DATA_ROOT . '/blocks/' . $this->block_file . '.txt');
     }
     if (file_exists(DATA_ROOT . '/blocks/' . $this->block_file . '.md')) {
         $this->raw_content = $this->read_file(DATA_ROOT . '/blocks/' . $this->block_file . '.md');
         require_once LIB_ROOT . "/php-markdown/Markdown.inc.php";
         $this->content = Michelf\Markdown::defaultTransform($this->raw_content);
     }
     return '<span class="block block-' . $this->block_file . '">' . $this->content . '</span>';
 }
示例#7
0
 /**
  * Parse Markdown and convert to HTML.
  * Use PHP Markdown & Markdown Extra: http://michelf.ca/projects/php-markdown/
  *
  * @param    string $text  Text to parse Markdown.
  * @param    string $extra Use MarkdownExtra: http://michelf.ca/projects/php-markdown/extra/ .
  *
  * @return   string     Parsed Text.
  */
 public static function markdown($text, $extra = true, $option = array())
 {
     require_once AKPATH_HTML . "/php-markdown/Markdown.php";
     $text = str_replace("\t", '    ', $text);
     if ($extra) {
         require_once AKPATH_HTML . "/php-markdown/MarkdownExtra.php";
         $result = Michelf\MarkdownExtra::defaultTransform($text);
     } else {
         $result = Michelf\Markdown::defaultTransform($text);
     }
     if (JArrayHelper::getValue($option, 'highlight_enable', 1)) {
         self::highlight(JArrayHelper::getValue($option, 'highlight', 'default'));
     }
     return $result;
 }
 /**
  * the page will be a content file in a folder matching the path
  *      or /foo/bar/edd/content.md
  *		or even /foo/bar/edd/content.html
  *		HTML pages with a filename starting with _ are assumed to be partials
  *		if not, full HTML pages
  *
  *		markdown pages are partials, using a default base template
  *		or a custom base template specified in meta
  * 
  */
 public function getPage($sub_path)
 {
     global $page;
     require_once EATSTATIC_ROOT . "/eatStaticPage.class.php";
     $page = new eatStaticPage();
     $page_exists = false;
     if (file_exists($this->root . $sub_path . ".md")) {
         $raw_content = $this->read_file($this->root . $sub_path . ".md");
         $page->content_mode = 'markdown';
         $page_exists = true;
     }
     if (file_exists($this->root . $sub_path . ".php")) {
         $ext = "php";
         $page->content_mode = 'php';
         $page_exists = true;
     }
     if (!$page_exists) {
         return;
     }
     switch ($page->content_mode) {
         case "markdown":
             // extract meta
             $split_content = explode('--', $raw_content);
             if (sizeOf($split_content) > 1) {
                 $raw_meta = $split_content[1];
             }
             $parts = explode("\n", $raw_content);
             $page->title = str_replace('#', '', $parts[0]);
             // process remainder and return
             require_once LIB_ROOT . "/php-markdown/Markdown.inc.php";
             $page->content = Michelf\Markdown::defaultTransform($split_content[0]);
             break;
         case "php":
             ob_start();
             include $this->root . $sub_path . ".php";
             $page->content = ob_get_contents();
             ob_end_clean();
             break;
         case "html":
             // TODO: get first char of filename to see if it is a partial
             // TODO: return as whole page, or embedded in base template
             break;
     }
     return $page;
 }
示例#9
0
 public function parsing($text)
 {
     $parser = new Michelf\Markdown();
     $text = $parser->defaultTransform($text);
     return $text;
 }
 function parse()
 {
     return Michelf\Markdown::defaultTransform($this->content);
 }
示例#11
0
 function __construct($params = array())
 {
     parent::__construct();
 }
 /**
  * Markdown to HTML
  */
 public function markdownToHtml($markdown)
 {
     $messageHTML = Michelf\Markdown::defaultTransform($markdown);
     return $messageHTML;
 }
示例#13
0
文件: Drink.php 项目: rkueny/aperophp
 public function connect(Application $app)
 {
     $controllers = $app['controllers_factory'];
     // *******
     // ** Homepage
     // *******
     $controllers->get('/', function () use($app) {
         $app['session']->set('menu', 'home');
         $drinks = $app['drinks']->findNext(10);
         return $app['twig']->render('drink/index.html.twig', array('drinks' => $drinks));
     })->bind('_homepagedrinks');
     // *******
     // *******
     // ** List
     // *******
     $controllers->get('list.{format}', function ($format) use($app) {
         $app['session']->set('menu', 'listdrinks');
         //TODO pagination
         $drinks = $app['drinks']->findAll(25);
         return $app['twig']->render('drink/list.' . $format . '.twig', array('drinks' => $drinks));
     })->assert('format', 'html|atom')->bind('_listdrinks');
     // *******
     // *******
     // ** Add a drink
     // *******
     $controllers->match('new.html', function (Request $request) use($app) {
         if (!$app['session']->has('member')) {
             $app['session']->getFlashBag()->add('error', 'Vous devez être authentifié pour créer un événement.');
             return $app->redirect($app['url_generator']->generate('_signinmember'));
         }
         $app['session']->set('menu', 'newdrink');
         $form = $app['form.factory']->create('drink');
         if ('POST' === $request->getMethod()) {
             $form->bind($request->request->get('drink'));
             if ($form->isValid()) {
                 $data = $form->getData();
                 $member = $app['session']->get('member');
                 $data['member_id'] = $member['id'];
                 unset($data['captcha']);
                 try {
                     $app['drinks']->insert($data);
                 } catch (\Exception $e) {
                     $app->abort(500, 'Impossible de créer l\'événement. Merci de réessayer plus tard.');
                 }
                 $app['session']->getFlashBag()->add('success', 'L\'événement a été créé avec succès.');
                 return $app->redirect($app['url_generator']->generate('_showdrink', array('id' => $app['drinks']->lastInsertId())));
             }
         }
         return $app['twig']->render('drink/new.html.twig', array('form' => $form->createView()));
     })->bind('_newdrink')->method('GET|POST');
     // *******
     // *******
     // ** Edit a drink
     // *******
     $controllers->get('{id}/edit.html', function (Request $request, $id) use($app) {
         $app['session']->set('menu', null);
         $drink = $app['drinks']->find($id);
         if (!$drink) {
             $app->abort(404, 'Cet événement n\'existe pas.');
         }
         $now = new \Datetime('now');
         $dDrink = \Datetime::createFromFormat('Y-m-d H:i:s', $drink['day'] . ' ' . $drink['hour']);
         if ($now > $dDrink) {
             $app['session']->getFlashBag()->add('error', 'L\'événement est terminé.');
             return $app->redirect($app['url_generator']->generate('_showdrink', array('id' => $id)));
         }
         $member = $app['session']->get('member');
         if (!$member) {
             $app['session']->getFlashBag()->add('error', 'Vous devez être authentifié pour pouvoir éditer cet événement.');
             return $app->redirect($app['url_generator']->generate('_signinmember'));
         }
         if ($drink['member_id'] != $member['id']) {
             $app['session']->getFlashBag()->add('error', 'Vous devez être organisateur de cet événement pour pouvoir l\'éditer.');
             return $app->redirect($app['url_generator']->generate('_showdrink', array('id' => $id)));
         }
         $form = $app['form.factory']->create('drink', $drink);
         if ('POST' === $request->getMethod()) {
             $form->bind($request->request->get('drink'));
             if ($form->isValid()) {
                 $data = $form->getData();
                 $data['member_id'] = $member['id'];
                 unset($data['captcha']);
                 try {
                     $app['drinks']->update($data, array('id' => $drink['id']));
                 } catch (\Exception $e) {
                     $app->abort(500, 'Impossible de modifier l\'événement. Merci de réessayer plus tard.');
                 }
                 $app['session']->getFlashBag()->add('success', 'L\'événement a été modifié avec succès.');
                 return $app->redirect($app['url_generator']->generate('_showdrink', array('id' => $id)));
             } else {
                 $app['session']->getFlashBag()->add('error', 'Il y a des erreurs dans le formulaire.');
                 return $app->redirect($app['url_generator']->generate('_editdrink', array('id' => $id)));
             }
         }
         return $app['twig']->render('drink/edit.html.twig', array('form' => $form->createView(), 'id' => $id));
     })->bind('_editdrink')->method('GET|POST');
     // *******
     // *******
     // ** See a drink
     // *******
     $controllers->get('{id}/view.html/{email}/{token}', function ($id) use($app) {
         $app['session']->set('menu', null);
         $drink = $app['drinks']->find($id);
         if (!$drink) {
             $app->abort(404, 'Cet événement n\'existe pas.');
         }
         $member = $app['session']->get('member');
         $hideSpam = !($member && $member['id'] == $drink['member_id']);
         $participants = $app['drink_participants']->findByDrinkId($drink['id']);
         $presences = $app['drink_participants']->findAllPresencesInAssociativeArray();
         $comments = $app['drink_comments']->findByDrinkId($drink['id'], $hideSpam);
         $textProcessor = new \Michelf\Markdown();
         $textProcessor->no_markup = true;
         $textProcessor->no_entities = true;
         foreach ($comments as &$comment) {
             $comment['content'] = str_replace('href="javascript:', 'href="', substr($textProcessor->transform($comment['content']), 3, -5));
         }
         $user = $app['session']->get('user');
         // First, deal with participation
         $isParticipating = false;
         $data = array();
         if (null !== $user) {
             $data = array('user' => $user);
             if (false !== ($participation = $app['drink_participants']->findOne($id, $user['id']))) {
                 $data += $participation;
                 $isParticipating = true;
             }
         }
         // Avoid transformer error
         $data['reminder'] = (bool) array_key_exists('reminder', $data) ? (bool) $data['reminder'] : false;
         $participationForm = $app['form.factory']->create('drink_participate', $data);
         // If member is authenticated, prefill form.
         $data = array();
         if (null !== $user) {
             $data = array('user' => $user);
         }
         $commentForm = $app['form.factory']->create('drink_comment', $data);
         $now = new \Datetime('now');
         $dDrink = \Datetime::createFromFormat('Y-m-d H:i:s', $drink['day'] . ' ' . $drink['hour']);
         $drink['description'] = str_replace('href="javascript:', 'href="', substr($textProcessor->transform($drink['description']), 3, -5));
         return $app['twig']->render('drink/view.html.twig', array('drink' => $drink, 'participants' => $participants, 'comments' => $comments, 'commentForm' => $commentForm->createView(), 'participationForm' => $participationForm->createView(), 'isFinished' => $now > $dDrink, 'isParticipating' => $isParticipating, 'isConnected' => null !== $user, 'presences' => $presences));
     })->value('email', null)->value('token', null)->bind('_showdrink');
     // *******
     return $controllers;
 }
示例#14
0
<?php

echo Michelf\Markdown::defaultTransform($block['text']);
示例#15
0
	/**
	 * Function to get instance by using XML node
	 * @param <XML DOM> $extensionXMLNode
	 * @return <Settings_ExtensionStore_Extension_Model> $extensionModel
	 */
	public function getInstanceFromArray($listing) {
		$extensionModel = new self();
		
		foreach ($listing as $key => $value) {
			switch ($key) {
            case 'name'    :   $key = 'label'; break;
            case 'identifier': $key = 'name'; break;
			case 'version' :   $key = 'pkgVersion'; break;
			case 'minrange':   $key = 'vtigerVersion'; break;
			case 'maxrange':   $key = 'vtigerMaxVersion'; break;
			case 'CustomerId': $key = 'publisher'; break;
			case 'price':      $value = $value ? $value : 'Free'; break;
			case 'approvedon': $key = 'pubDate'; break;
			case 'ListingFileId': 
				if ($value) {
					$key = 'downloadURL'; 
					$value = $this->getExtensionsLookUpUrl() . '/customer/listingfiles?id='.$value;
				}
				break;
                        case 'thumbnail': 
                                if ($value) {
                                    $key = 'thumbnailURL';
                                    $value = str_replace('api', "_listingimages/$value", $this->getExtensionsLookUpUrl());
                                }
                                break;
                        case 'banner'   :
                               if ($value) {
                                   $key = 'bannerURL';
                                   $value = str_replace('api', "_listingimages/$value", $this->getExtensionsLookUpUrl());
                               }
                               break;
                        case 'description':
                            if($value){
                                $markDownInstance = new Michelf\Markdown();
                                $value = $markDownInstance->transform($value);
                            }
                        }
			$extensionModel->set($key, $value);
		}

		$label = $extensionModel->get('label');
		if (!$label) {
                    $extensionModel->set('label', $extensionModel->getName());
		}
        
        $moduleModel = self::getModuleFromExtnName($extensionModel->getName());
        if($moduleModel && $moduleModel->get('extnType') == 'language') {
            $trial = $extensionModel->get('trial');
            $moduleModel->set('trial',$trial);
        }
        $extensionModel->set('moduleModel',  $moduleModel);
		return $extensionModel;
	}
示例#16
0
 public static function tr($text)
 {
     return Michelf\Markdown::defaultTransform($text);
 }
示例#17
0
 public static function transform($data)
 {
     $md = new \Michelf\Markdown();
     return $md->defaultTransform($data);
 }
示例#18
0
文件: help.php 项目: bulck/bulckyUI
        <div class="separator"></div>

        </div>

        <!-- Highlights -->
        <div class="nav">
                <br />
                 <p class="subtitle_right"><b><i><a href="/bulcky/main/plugin/help/help.php">Retour au sommaire</a></i></b></p>
                <?php 
// Ouverture du fichier
$wiki = "Home";
if (isset($_GET['wiki']) && !empty($_GET['wiki'])) {
    $wiki = $_GET['wiki'];
}
require_once './Michelf/Markdown.inc.php';
$parser = new Michelf\Markdown();
$parser->url_filter_func = function ($url) {
    if (strpos($url, "http") !== false) {
        return $url;
    } else {
        if (strpos($url, "img/") !== false) {
            return "./bulcky.wiki/" . $url;
        } else {
            return "help.php?wiki=" . $url;
        }
    }
};
$my_html = $parser->transform(file_get_contents("./bulcky.wiki/" . $wiki . ".md"));
echo $my_html;
?>
                 <p class="subtitle_right"><b><i><a href="/bulcky/main/plugin/help/help.php">Retour au sommaire</a></i></b></p>
 function hydrate()
 {
     $this->raw_data = $this->read_file($this->data_file_path);
     if ($this->raw_data == '') {
         // no post content found
     }
     $ext = $this->getExtension($this->data_file_path);
     if ($ext == 'md') {
         $this->source_format = 'markdown';
         require_once LIB_ROOT . "/php-markdown/Markdown.inc.php";
     }
     $parts = explode("\n", $this->raw_data);
     $str = '';
     $format_str = '';
     // get title from first line
     $this->title = $parts[0];
     $body = true;
     $meta = false;
     $raw_body = '';
     $raw_meta = '';
     // the rest is body
     for ($i = 1; $i < sizeof($parts); $i++) {
         $str = $str . $parts[$i];
         if ($i > 1) {
             // the body section can be the rest of the file,
             // or you can mark the end of the body section with --
             // you can then put meta data fields in the file
             if (eatStatic::stripLineBreaks($parts[$i]) == '--' && $meta == false) {
                 $body = false;
                 $meta = true;
             }
             if ($body) {
                 $raw_body = $raw_body . $parts[$i] . "\n";
                 // formatted body - for text format, line breaks need to be replaced with br, but not between html elements
                 if ($this->source_format == 'text') {
                     if (substr($parts[$i], -1) != '>') {
                         $format_str = $format_str . $parts[$i] . "<br />\n";
                     } else {
                         $format_str = $format_str . $parts[$i] . "\n";
                     }
                 }
             }
             // get meta info
             if ($meta && eatStatic::stripLineBreaks($parts[$i]) != '--') {
                 //die('meta:'.$parts[$i]);
                 if ($parts[$i] != '') {
                     $this->handleMeta($parts[$i]);
                     $raw_meta = $raw_meta . $parts[$i] . "\n";
                 }
             }
         }
     }
     if ($this->source_format == 'markdown') {
         // remove hashes from title
         $this->title = str_replace('#', '', $this->title);
         // parse the markdown into HTML
         $this->formatted_body = Michelf\Markdown::defaultTransform($raw_body);
     } else {
         $this->formatted_body = $format_str;
     }
     $this->raw_body = $raw_body;
     $this->raw_meta = $raw_meta;
     $this->body = $str;
     $this->file_name = basename($this->data_file_path);
     if ($this->source_format == 'markdown') {
         $this->slug = str_replace('.md', '', $this->file_name);
     } else {
         $this->slug = str_replace('.txt', '', $this->file_name);
     }
     $this->date = substr($this->file_name, 0, 10);
     $this->slug_trimmed = str_replace($this->date . '-', '', $this->slug);
     $this->nice_date = date(NICE_DATE_FORMAT, strtotime($this->date));
     $this->timestamp = strtotime($this->date);
     // get gallery items if there are any
     $gallery = new eatStaticGallery($this->slug . '/');
     $this->gallery_items = $gallery->gallery_items;
     // set up the URI
     if (WP_URLS) {
         $date_str = date('Y', strtotime($this->date)) . '-' . date('m', strtotime($this->date)) . '-' . date('d', strtotime($this->date));
         $this->uri = SITE_ROOT . date('Y', strtotime($this->date)) . '/' . date('m', strtotime($this->date)) . '/' . date('d', strtotime($this->date)) . '/' . str_replace($date_str . '-', '', $this->slug) . '/';
     } else {
         $this->uri = SITE_ROOT . 'posts/' . $this->slug . PAGE_EXT;
     }
     // get the next and previous urls
     $blog = new eatStaticBlog();
     $blog->getPostFiles();
     foreach ($blog->post_files as $key => $val) {
         if ($val == $this->data_file_path) {
             if ($key > 0) {
                 $this->prev_url = $this->uriFromFilename(basename($blog->post_files[$key - 1]));
             }
             if ($key < count($blog->post_files) - 1) {
                 $this->next_url = $this->uriFromFilename(basename($blog->post_files[$key + 1]));
             }
         }
     }
 }
示例#20
0
function ExplainMarkdown($path, $font = null)
{
    $text = file_get_contents($path);
    return Michelf\Markdown::defaultTransform($text, $font);
}