/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * @file * Pathologic text filter for Drupal. * * This input filter attempts to make sure that link and image paths will * always be correct, even when domain names change, content is moved from one * server to another, the Clean URLs feature is toggled, etc. */ /** * Implements hook_filter_info(). */ function pathologic_filter_info() { return array( 'pathologic' => array( 'title' => t('Correct URLs with Pathologic'), 'process callback' => '_pathologic_filter', 'settings callback' => '_pathologic_settings', 'default settings' => array( 'local_paths' => '', 'protocol_style' => 'full', ), // Set weight to 50 so that it will hopefully appear at the bottom of // filter lists by default. 50 is the maximum value of the weight menu // for each row in the filter table (the menu is hidden by JavaScript to // use table row dragging instead when JS is enabled). 'weight' => 50, ) ); } /** * Settings callback for Pathologic. */ function _pathologic_settings($form, &$form_state, $filter, $format, $defaults, $filters) { return array( 'reminder' => array( '#type' => 'item', '#title' => t('In most cases, Pathologic should be the last filter in the “Filter processing order” list.'), '#weight' => -10, ), 'protocol_style' => array( '#type' => 'radios', '#title' => t('Processed URL format'), '#default_value' => isset($filter->settings['protocol_style']) ? $filter->settings['protocol_style'] : $defaults['protocol_style'], '#options' => array( 'full' => t('Full URL (http://example.com/foo/bar)'), 'proto-rel' => t('Protocol relative URL (//example.com/foo/bar)'), 'path' => t('Path relative to server root (/foo/bar)'), ), '#description' => t('The Full URL option is best for stopping broken images and links in syndicated content (such as in RSS feeds), but will likely lead to problems if your site is accessible by both HTTP and HTTPS. Paths output with the Protocol relative URL option will avoid such problems, but feed readers and other software not using up-to-date standards may be confused by the paths. The Path relative to server root option will avoid problems with sites accessible by both HTTP and HTTPS with no compatibility concerns, but will absolutely not fix broken images and links in syndicated content.'), '#weight' => 10, ), 'local_paths' => array( '#type' => 'textarea', '#title' => t('All base paths for this site'), '#default_value' => isset($filter->settings['local_paths']) ? $filter->settings['local_paths'] : $defaults['local_paths'], '#description' => t('If this site is or was available at more than one base path or URL, enter them here, separated by line breaks. For example, if this site is live at http://example.com/ but has a staging version at http://dev.example.org/staging/, you would enter both those URLs here. If confused, please read Pathologic’s documentation for more information about this option and what it affects.', array('!docs' => 'http://drupal.org/node/257026')), '#weight' => 20, ), ); } /** * Pathologic filter callback. * * Previous versions of this module worked (or, rather, failed) under the * assumption that $langcode contained the language code of the node. Sadly, * this isn't the case. * @see http://drupal.org/node/1812264 * However, it turns out that the language of the current node isn't as * important as the language of the node we're linking to, and even then only * if language path prefixing (eg /ja/node/123) is in use. REMEMBER THIS IN THE * FUTURE, ALBRIGHT. * * The below code uses the @ operator before parse_url() calls because in PHP * 5.3.2 and earlier, parse_url() causes a warning of parsing fails. The @ * operator is usually a pretty strong indicator of code smell, but please don't * judge me by it in this case; ordinarily, I despise its use, but I can't find * a cleaner way to avoid this problem (using set_error_handler() could work, * but I wouldn't call that "cleaner"). Fortunately, Drupal 8 will require at * least PHP 5.3.5, so this mess doesn't have to spread into the D8 branch of * Pathologic. * @see https://drupal.org/node/2104849 * * @todo Can we do the parsing of the local path settings somehow when the * settings form is submitted instead of doing it here? */ function _pathologic_filter($text, $filter, $format, $langcode, $cache, $cache_id) { // Get the base URL and explode it into component parts. We add these parts // to the exploded local paths settings later. global $base_url; $base_url_parts = @parse_url($base_url . '/'); // Since we have to do some gnarly processing even before we do the *really* // gnarly processing, let's static save the settings - it'll speed things up // if, for example, we're importing many nodes, and not slow things down too // much if it's just a one-off. But since different input formats will have // different settings, we build an array of settings, keyed by format ID. $cached_settings = &drupal_static(__FUNCTION__, array()); if (!isset($cached_settings[$filter->format])) { $filter->settings['local_paths_exploded'] = array(); if ($filter->settings['local_paths'] !== '') { // Build an array of the exploded local paths for this format's settings. // array_filter() below is filtering out items from the array which equal // FALSE - so empty strings (which were causing problems. // @see http://drupal.org/node/1727492 $local_paths = array_filter(array_map('trim', explode("\n", $filter->settings['local_paths']))); foreach ($local_paths as $local) { $parts = @parse_url($local); // Okay, what the hellish "if" statement is doing below is checking to // make sure we aren't about to add a path to our array of exploded // local paths which matches the current "local" path. We consider it // not a match, if… // @todo: This is pretty horrible. Can this be simplified? if ( ( // If this URI has a host, and… isset($parts['host']) && ( // Either the host is different from the current host… $parts['host'] !== $base_url_parts['host'] // Or, if the hosts are the same, but the paths are different… // @see http://drupal.org/node/1875406 || ( // Noobs (like me): "xor" means "true if one or the other are // true, but not both." (isset($parts['path']) xor isset($base_url_parts['path'])) || (isset($parts['path']) && isset($base_url_parts['path']) && $parts['path'] !== $base_url_parts['path']) ) ) ) || // Or… ( // The URI doesn't have a host… !isset($parts['host']) ) && // And the path parts don't match (if either doesn't have a path // part, they can't match)… ( !isset($parts['path']) || !isset($base_url_parts['path']) || $parts['path'] !== $base_url_parts['path'] ) ) { // Add it to the list. $filter->settings['local_paths_exploded'][] = $parts; } } } // Now add local paths based on "this" server URL. $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path']); $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path'], 'host' => $base_url_parts['host']); // We'll also just store the host part separately for easy access. $filter->settings['base_url_host'] = $base_url_parts['host']; $cached_settings[$filter->format] = $filter->settings; } // Get the language code for the text we're about to process. $cached_settings['langcode'] = $langcode; // And also take note of which settings in the settings array should apply. $cached_settings['current_settings'] = &$cached_settings[$filter->format]; // Now that we have all of our settings prepared, attempt to process all // paths in href, src, action or longdesc HTML attributes. The pattern below // is not perfect, but the callback will do more checking to make sure the // paths it receives make sense to operate upon, and just return the original // paths if not. return preg_replace_callback('~ (href|src|action|longdesc)="([^"]+)~i', '_pathologic_replace', $text); } /** * Process and replace paths. preg_replace_callback() callback. */ function _pathologic_replace($matches) { // Get the base path. global $base_path; // Get the settings for the filter. Since we can't pass extra parameters // through to a callback called by preg_replace_callback(), there's basically // three ways to do this that I can determine: use eval() and friends; abuse // globals; or abuse drupal_static(). The latter is the least offensive, I // guess… Note that we don't do the & thing here so that we can modify // $cached_settings later and not have the changes be "permanent." $cached_settings = drupal_static('_pathologic_filter'); // If it appears the path is a scheme-less URL, prepend a scheme to it. // parse_url() cannot properly parse scheme-less URLs. Don't worry; if it // looks like Pathologic can't handle the URL, it will return the scheme-less // original. // @see https://drupal.org/node/1617944 // @see https://drupal.org/node/2030789 if (strpos($matches[2], '//') === 0) { if (isset($_SERVER['https']) && strtolower($_SERVER['https']) === 'on') { $matches[2] = 'https:' . $matches[2]; } else { $matches[2] = 'http:' . $matches[2]; } } // Now parse the URL after reverting HTML character encoding. // @see http://drupal.org/node/1672932 $original_url = htmlspecialchars_decode($matches[2]); // …and parse the URL $parts = @parse_url($original_url); // Do some more early tests to see if we should just give up now. if ( // If parse_url() failed, give up. $parts === FALSE || ( // If there's a scheme part and it doesn't look useful, bail out. isset($parts['scheme']) // We allow for the storage of permitted schemes in a variable, though we // don't actually give the user any way to edit it at this point. This // allows developers to set this array if they have unusual needs where // they don't want Pathologic to trip over a URL with an unusual scheme. // @see http://drupal.org/node/1834308 // "files" and "internal" are for Path Filter compatibility. && !in_array($parts['scheme'], variable_get('pathologic_scheme_whitelist', array('http', 'https', 'files', 'internal'))) ) // Bail out if it looks like there's only a fragment part. || (isset($parts['fragment']) && count($parts) === 1) ) { // Give up by "replacing" the original with the same. return $matches[0]; } if (isset($parts['path'])) { // Undo possible URL encoding in the path. // @see http://drupal.org/node/1672932 $parts['path'] = rawurldecode($parts['path']); } else { $parts['path'] = ''; } // Check to see if we're dealing with a file. // @todo Should we still try to do path correction on these files too? if (isset($parts['scheme']) && $parts['scheme'] === 'files') { // Path Filter "files:" support. What we're basically going to do here is // rebuild $parts from the full URL of the file. $new_parts = @parse_url(file_create_url(file_default_scheme() . '://' . $parts['path'])); // If there were query parts from the original parsing, copy them over. if (!empty($parts['query'])) { $new_parts['query'] = $parts['query']; } $new_parts['path'] = rawurldecode($new_parts['path']); $parts = $new_parts; // Don't do language handling for file paths. $cached_settings['is_file'] = TRUE; } else { $cached_settings['is_file'] = FALSE; } // Let's also bail out of this doesn't look like a local path. $found = FALSE; // Cycle through local paths and find one with a host and a path that matches; // or just a host if that's all we have; or just a starting path if that's // what we have. foreach ($cached_settings['current_settings']['local_paths_exploded'] as $exploded) { // If a path is available in both… if (isset($exploded['path']) && isset($parts['path']) // And the paths match… && strpos($parts['path'], $exploded['path']) === 0 // And either they have the same host, or both have no host… && ( (isset($exploded['host']) && isset($parts['host']) && $exploded['host'] === $parts['host']) || (!isset($exploded['host']) && !isset($parts['host'])) ) ) { // Remove the shared path from the path. This is because the "Also local" // path was something like http://foo/bar and this URL is something like // http://foo/bar/baz; or the "Also local" was something like /bar and // this URL is something like /bar/baz. And we only care about the /baz // part. $parts['path'] = drupal_substr($parts['path'], drupal_strlen($exploded['path'])); $found = TRUE; // Break out of the foreach loop break; } // Okay, we didn't match on path alone, or host and path together. Can we // match on just host? Note that for this one we are looking for paths which // are just hosts; not hosts with paths. elseif ((isset($parts['host']) && !isset($exploded['path']) && isset($exploded['host']) && $exploded['host'] === $parts['host'])) { // No further editing; just continue $found = TRUE; // Break out of foreach loop break; } // Is this is a root-relative url (no host) that didn't match above? // Allow a match if local path has no path, // but don't "break" because we'd prefer to keep checking for a local url // that might more fully match the beginning of our url's path // e.g.: if our url is /foo/bar we'll mark this as a match for // http://example.com but want to keep searching and would prefer a match // to http://example.com/foo if that's configured as a local path elseif (!isset($parts['host']) && (!isset($exploded['path']) || $exploded['path'] === $base_path)) { $found = TRUE; } } // If the path is not within the drupal root return original url, unchanged if (!$found) { return $matches[0]; } // Okay, format the URL. // If there's still a slash lingering at the start of the path, chop it off. $parts['path'] = ltrim($parts['path'],'/'); // Examine the query part of the URL. Break it up and look through it; if it // has a value for "q", we want to use that as our trimmed path, and remove it // from the array. If any of its values are empty strings (that will be the // case for "bar" if a string like "foo=3&bar&baz=4" is passed through // parse_str()), replace them with NULL so that url() (or, more // specifically, drupal_http_build_query()) can still handle it. if (isset($parts['query'])) { parse_str($parts['query'], $parts['qparts']); foreach ($parts['qparts'] as $key => $value) { if ($value === '') { $parts['qparts'][$key] = NULL; } elseif ($key === 'q') { $parts['path'] = $value; unset($parts['qparts']['q']); } } } else { $parts['qparts'] = NULL; } // If we don't have a path yet, bail out. if (!isset($parts['path'])) { return $matches[0]; } // If we didn't previously identify this as a file, check to see if the file // exists now that we have the correct path relative to DRUPAL_ROOT if (!$cached_settings['is_file']) { $cached_settings['is_file'] = !empty($parts['path']) && is_file(DRUPAL_ROOT . '/'. $parts['path']); } // Okay, deal with language stuff. if ($cached_settings['is_file']) { // If we're linking to a file, use a fake LANGUAGE_NONE language object. // Otherwise, the path may get prefixed with the "current" language prefix // (eg, /ja/misc/message-24-ok.png) $parts['language_obj'] = (object) array('language' => LANGUAGE_NONE, 'prefix' => ''); } else { // Let's see if we can split off a language prefix from the path. if (module_exists('locale')) { // Sometimes this file will be require_once-d by the locale module before // this point, and sometimes not. We require_once it ourselves to be sure. require_once DRUPAL_ROOT . '/includes/language.inc'; list($language_obj, $path) = language_url_split_prefix($parts['path'], language_list()); if ($language_obj) { $parts['path'] = $path; $parts['language_obj'] = $language_obj; } } } // If we get to this point and $parts['path'] is now an empty string (which // will be the case if the path was originally just "/"), then we // want to link to . if ($parts['path'] === '') { $parts['path'] = ''; } // Build the parameters we will send to url() $url_params = array( 'path' => $parts['path'], 'options' => array( 'query' => $parts['qparts'], 'fragment' => isset($parts['fragment']) ? $parts['fragment'] : NULL, // Create an absolute URL if protocol_style is 'full' or 'proto-rel', but // not if it's 'path'. 'absolute' => $cached_settings['current_settings']['protocol_style'] !== 'path', // If we seem to have found a language for the path, pass it along to // url(). Otherwise, ignore the 'language' parameter. 'language' => isset($parts['language_obj']) ? $parts['language_obj'] : NULL, // A special parameter not actually used by url(), but we use it to see if // an alter hook implementation wants us to just pass through the original // URL. 'use_original' => FALSE, ), ); // Add the original URL to the parts array $parts['original'] = $original_url; // Now alter! // @see http://drupal.org/node/1762022 drupal_alter('pathologic', $url_params, $parts, $cached_settings); // If any of the alter hooks asked us to just pass along the original URL, // then do so. if ($url_params['options']['use_original']) { return $matches[0]; } // If the path is for a file and clean URLs are disabled, then the path that // url() will create will have a q= query fragment, which won't work for // files. To avoid that, we use this trick to temporarily turn clean URLs on. // This is horrible, but it seems to be the sanest way to do this. // @see http://drupal.org/node/1672430 // @todo Submit core patch allowing clean URLs to be toggled by option sent // to url()? if (!empty($cached_settings['is_file'])) { $cached_settings['orig_clean_url'] = !empty($GLOBALS['conf']['clean_url']); if (!$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = TRUE; } } // Now for the url() call. Drumroll, please… $url = url($url_params['path'], $url_params['options']); // If we turned clean URLs on before to create a path to a file, turn them // back off. if ($cached_settings['is_file'] && !$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = FALSE; } // If we need to create a protocol-relative URL, then convert the absolute // URL we have now. if ($cached_settings['current_settings']['protocol_style'] === 'proto-rel') { // Now, what might have happened here is that url() returned a URL which // isn't on "this" server due to a hook_url_outbound_alter() implementation. // We don't want to convert the URL in that case. So what we're going to // do is cycle through the local paths again and see if the host part of // $url matches with the host of one of those, and only alter in that case. $url_parts = @parse_url($url); if (!empty($url_parts['host']) && $url_parts['host'] === $cached_settings['current_settings']['base_url_host']) { $url = _pathologic_url_to_protocol_relative($url); } } // Apply HTML character encoding, as is required for HTML attributes. // @see http://drupal.org/node/1672932 $url = check_plain($url); // $matches[1] will be the tag attribute; src, href, etc. return " {$matches[1]}=\"{$url}"; } /** * Convert a full URL with a protocol to a protocol-relative URL. * * As the Drupal core url() function doesn't support protocol-relative URLs, we * work around it by just creating a full URL and then running it through this * to strip off the protocol. * * Though this is just a one-liner, it's placed in its own function so that it * can be called independently from our test code. */ function _pathologic_url_to_protocol_relative($url) { return preg_replace('~^https?://~', '//', $url); } | Jenny Duarte Peru, vestidos de novia, diseñadora de modas, alta costura, tejidos alpaca, fashion designer, fashion designer

Blog

02 de Febrero de 2016

 

Pure London es una feria internacional de accesorios de moda en Londres donde se presentan las últimas tendencias, estilos y colores de  la próxima temporada, ofreciendo a los visitantes obtener una visión general sobre de la industria de la moda.

La marca Jenny Duarte expondrá este mes de febrero su colección otoño- invierno 2016 – 2017 en la feria Pure London; la cual se realizará del 14 al 16 de febrero de este año. Pure London reunirá a más de 700 marcas y nuevas marcas por primera vez.

Jenny Duarte representa a Perú junto a otros diseñadores seleccionados para exponer los diseños que se han realizado en nuestro país. En esta oportunidad Jenny Duarte expondrá su colección Otoño- Invierno donde se podrá encontrar creaciones originales llenas de arte y calidad con fibras producidas en Perú.

La diseñadora Jenny Duarte ha desarrollado una colección motivada en dejar en alto a nuestro País, cuidando cada detalle en el diseño de sus prendas de colección para poder exponer las fibras, colores y diseños del país. “Es un orgullo haber sido seleccionada dentro de los mejores diseñadores representantes del Perú” Jenny Duarte

 

Referencia: www.fashionunited.es

29 de Enero de 2016

 

 

La marca Jenny Duarte estuvo presente en la feria de moda más importante de París (Francia), “Who's Next - Premiere Classe”, realizada entre el 22 y el 25 de enero, donde se exhibió prendas y accesorios de fina fibra de alpaca peruana, como parte de la estrategia de promoción del Ministerio de Comercio Exterior y Turismo (Mincetur), a través de la Oficina Comercial del Perú en París (OCEX París) y Promperú.

Jenny Duarte estuvo dentro de los nueve expositores peruanos seleccionados destacando en el diseño de prendas de alpaca. Se realizaron importantes contactos comerciales y pusieron en vitrina sus marcas y productos. ‪#‎whosnext‬ ‪#‎whosnextparis‬ ‪#‎jennyduarte‬‪#‎fashiondesigner‬

 

 

http://www.mincetur.gob.pe/newweb/portals/0/comercio/ocex/boletines/Ocex...

 

 

 

30 de Octubre de 2015
 
Las capas y ponchos son prendas muy divertidas, las vimos en pasarelas, están de moda y también son parte de nuestra cultura. Lo mejor de todo es que en este post les muestro opciones de capas y ponchos hechos de alpaca, así que es hora de tener estas prendas en nuestro closet; la moda avanza y sé que a muchas les gustaría mucho utilizarlas pero tal vez no tenemos idea de cómo combinarlas. Por eso aquí les traigo dos opciones de outfits, recuerden que hay mucha variedad en colores y textura que pueden aportar a tu look.

Aquí utilice estos dos tipos de prendas en estos dos colores básicos para la temporada; en tonos grises y negro, y en color camel. 

 

Los combine con leggings que me parece que es una buena opción para que asi el poncho o la capa se lleven el protagonismo del look completo, son importantes también los accesorios y si quieres marcar más tu figura no dudes en usar un cinturón para manejar un poco el volumen de la prenda.

 

 
Para las que eligen llevar un cinturón y no saben cuál usar y combinarlo con un poncho o capa, les daré el siguiente tip; utiliza cinturones  muy delgados si quieres acentuar tu silueta en este caso para las mujeres con curvas, y por otro lado los cinturones anchos van para las mujeres delgadas.
 
 
 
 
 
Espero que se animen a utilizar capas o ponchos sobre todo ahora que el clima es muy cambiante y terminen siendo sus prendas favoritas de la temporada.
 
 
 
 
Fashion Blogger: Bania Cano
Prendas: Jenny Duarte
16 de Octubre de 2015
Hoy apostamos por un pantalón de tiro alto, hecha de fibra de alpaca en un tono azul marino, me encanto esta opción de pantalón y dejar de lado un poco las leggings oscuras para algún evento formal o tal vez para las horas de oficina, que no hace falta comprar un traje completo y no necesariamente tienen que ser monocromáticos.
 
Aprovechemos algunas cualidades de este tejido, que es su capacidad térmica y muy suave. No olvides los complementos, puedes personalizar tu look con accesorios con un cinturón, collar, pulseras…
 
El corte de este pantalón hace que nos marque bastante la cintura,  creando una ilusión óptica y hacernos ver más altas. El tipo de calzado para este pantalón, les recomiendo que sean tipo stilettos.

Te animas a usar un look con esta prenda hecha de alpaca, mantenernos calientitas para un gran día?

 

Outfits / Bania Cano C. 
Prendas en alpaca / Jenny Duarte
13 de Octubre de 2015

  

 

Como marca peruana nos enorgullece que el poncho y la ruana se hayan convertido en la prenda must de la temporada. Cómo podrán haber visto hace varias temporadas estas prendas van y vienen en las pasarelas y las colecciones de Otoño / Invierno presentarán a los ponchos como toda una tendencia. Jenny Duarte les trae algunos consejos para que te atrevas a usar esta prenda la cual es elaborada por manos peruanas.

Sea el estilo que tengas al combinar el poncho o ruana con algunas prendas y accesorios podrás lograr tener un look que capte varias miradas, así que te animamos a tomar nota.

Si quieres un look estilizado te recomendamos usar el poncho junto a un cinturón, un cinturón delgado sobre el poncho te ayudará a marca tu figura y estilizar tu silueta, así lograrás un look mucho más chic.   

Si buscas un look más relajado podrás combinar el poncho con jeans pitillos, pantalones de cuero y calzas. Cuida que las prendas que llevas dentro del poncho no te sofoquen, usa ropa liviana. Ten mucho cuidado de no sobrecargar el look. Apuesta por un sombrero a tu outfit y le darás todo un plus.

Creemos que en futuro el poncho será toda una tendencia no sólo para mujeres sino también para los hombres. Ellos los usarán buscando una prenda cómoda para estar en el campo o calles urbanas. No estaría nada fuera de foco que los hombres opten por una moda “Chalán” que busque acaparar miradas al lucir esta prenda montando caballo.

Lo bueno del poncho es su versatilidad; es decir que a pesar de ser una prenda para el frío, el tejido o tela puede ser fina o gruesa, dependiendo del clima de nuestra ciudad. Otro punto más para esta prenda es : ¡Es súper cómoda de vestir!

Te animamos a usar esta prenda, recordándote que la marca Jenny Duarte te ofrece variedad de modelos, unos más abrigadores, con estilos más elegantes, o los bordados , más ligeros los mini ponchos, etc. Te esperamos.

 

Jenny Duarte.

02 de Octubre de 2015
 
Seguro que todas tenemos en nuestro armario una prenda favorita o que la usemos muy seguido, que nos quede muy bien o de pronto tienes varias actividades durante el día y poco tiempo para pensar en combinar outfits.
 
Aquí les muestro tres opciones de outfits, nunca perdiendo nuestro propio estilo, utilizando la misma prenda en estos tres looks que nos pueden sacar de apuro fácilmente.
 
Me encanto este cardigan en tonos beige hecha de alpaca, es muy calientita y realmente una buena opción para estos días nublados perfecto para un look de día o de noche.... si! te entiendo, seguramente varias veces hemos sacrificado nuestro estilo propio por esos días en que no sabes que vestir, y terminamos siendo victimas del clima cambiante que tenemos ahora...
Encontré gran variedad de cardigans y si buscamos que nuestros look sean versátiles, las hay tonos neutros, y para atrevernos un poco mas, hay cardigans con detalles asimétricos y combinando texturas. 
 
Así que, solo es cuestión de imaginación y aprovechemos nuestra prenda favorita para combinarlas con otras prendas de temporada.
 
 
 
Outfits / Bania Cano C. 
Prendas en alpaca / Jenny Duarte
 

 

Páginas