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; }
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; }
public function formatted_body() { $parser = new Michelf\Markdown(); $parser->no_markup = true; $html = $parser->transform($this->body); if (preg_match_all('~(<p><tn>.+?</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; }
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>'; }
/** * 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; }
public function parsing($text) { $parser = new Michelf\Markdown(); $text = $parser->defaultTransform($text); return $text; }
function parse() { return Michelf\Markdown::defaultTransform($this->content); }
function __construct($params = array()) { parent::__construct(); }
/** * Markdown to HTML */ public function markdownToHtml($markdown) { $messageHTML = Michelf\Markdown::defaultTransform($markdown); return $messageHTML; }
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; }
<?php echo Michelf\Markdown::defaultTransform($block['text']);
/** * 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; }
public static function tr($text) { return Michelf\Markdown::defaultTransform($text); }
public static function transform($data) { $md = new \Michelf\Markdown(); return $md->defaultTransform($data); }
<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])); } } } }
function ExplainMarkdown($path, $font = null) { $text = file_get_contents($path); return Michelf\Markdown::defaultTransform($text, $font); }