namespace LiteSpeed\CLI; defined('WPINC') || exit(); use LiteSpeed\Base; use LiteSpeed\Admin_Settings; use LiteSpeed\Utility; use WP_CLI; /** * LiteSpeed Cache option Interface */ class Option extends Base { /** * Set an individual LiteSpeed Cache option. * * ## OPTIONS * * * : The option key to update. * * * : The new value to set the option to. * * ## EXAMPLES * * # Set to not cache the login page * $ wp litespeed-option set cache-priv false * $ wp litespeed-option set 'cdn-mapping[url][0]' https://cdn.EXAMPLE.com * $ wp litespeed-option set media-lqip_exc $'line1\nline2' * */ public function set($args, $assoc_args) { /** * Note: If the value is multiple dimensions like cdn-mapping, need to specially handle it both here and in `const.default.json` * * For CDN/Crawler mutlti dimension settings, if all children are empty in one line, will delete that line. To delete one line, just set all to empty. * E.g. to delete cdn-mapping[0], need to run below: * `set cdn-mapping[url][0] ''` * `set cdn-mapping[inc_img][0] ''` * `set cdn-mapping[inc_css][0] ''` * `set cdn-mapping[inc_js][0] ''` * `set cdn-mapping[filetype][0] ''` */ $key = $args[0]; $val = $args[1]; /** * For CDN mapping, allow: * `set 'cdn-mapping[url][0]' https://the1st_cdn_url` * `set 'cdn-mapping[inc_img][0]' true` * `set 'cdn-mapping[inc_img][0]' 1` * @since 2.7.1 * * For Crawler cookies: * `set 'crawler-cookies[name][0]' my_currency` * `set 'crawler-cookies[vals][0]' "USD\nTWD"` * * For multi lines setting: * `set media-lqip_exc $'img1.jpg\nimg2.jpg'` */ // Build raw data $raw_data = array( Admin_Settings::ENROLL => array($key), ); // Contains child set if (strpos($key, '[')) { parse_str($key . '=' . $val, $key2); $raw_data = array_merge($raw_data, $key2); } else { $raw_data[$key] = $val; } $this->cls('Admin_Settings')->save($raw_data); WP_CLI::line("$key:"); $this->get($args, $assoc_args); } /** * Get the plugin options. * * ## OPTIONS * * ## EXAMPLES * * # Get all options * $ wp litespeed-option all * $ wp litespeed-option all --json * */ public function all($args, $assoc_args) { $options = $this->get_options(); if (!empty($assoc_args['format'])) { WP_CLI::print_value($options, $assoc_args); return; } $option_out = array(); $buf = WP_CLI::colorize('%CThe list of options:%n'); WP_CLI::line($buf); foreach ($options as $k => $v) { if ($k == self::O_CDN_MAPPING || $k == self::O_CRAWLER_COOKIES) { foreach ($v as $k2 => $v2) { // $k2 is numeric if (is_array($v2)) { foreach ($v2 as $k3 => $v3) { // $k3 = 'url/inc_img/name/vals' if (is_array($v3)) { $option_out[] = array('key' => '', 'value' => ''); foreach ($v3 as $k4 => $v4) { $option_out[] = array('key' => $k4 == 0 ? "{$k}[$k3][$k2]" : '', 'value' => $v4); } $option_out[] = array('key' => '', 'value' => ''); } else { $option_out[] = array('key' => "{$k}[$k3][$k2]", 'value' => $v3); } } } } continue; } elseif (is_array($v) && $v) { // $v = implode( PHP_EOL, $v ); $option_out[] = array('key' => '', 'value' => ''); foreach ($v as $k2 => $v2) { $option_out[] = array('key' => $k2 == 0 ? $k : '', 'value' => $v2); } $option_out[] = array('key' => '', 'value' => ''); continue; } if (array_key_exists($k, self::$_default_options) && is_bool(self::$_default_options[$k]) && !$v) { $v = 0; } if ($v === '' || $v === array()) { $v = "''"; } $option_out[] = array('key' => $k, 'value' => $v); } WP_CLI\Utils\format_items('table', $option_out, array('key', 'value')); } /** * Get the plugin options. * * ## OPTIONS * * ## EXAMPLES * * # Get one option * $ wp litespeed-option get cache-priv * $ wp litespeed-option get 'cdn-mapping[url][0]' * */ public function get($args, $assoc_args) { $id = $args[0]; $child = false; if (strpos($id, '[')) { parse_str($id, $id2); Utility::compatibility(); $id = array_key_first($id2); $child = array_key_first($id2[$id]); // `url` if (!$child) { WP_CLI::error('Wrong child key'); return; } $numeric = array_key_first($id2[$id][$child]); // `0` if ($numeric === null) { WP_CLI::error('Wrong 2nd level numeric key'); return; } } if (!isset(self::$_default_options[$id])) { WP_CLI::error('ID not exist [id] ' . $id); return; } $v = $this->conf($id); $default_v = self::$_default_options[$id]; /** * For CDN_mapping and crawler_cookies * Examples of option name: * cdn-mapping[url][0] * crawler-cookies[name][1] */ if ($id == self::O_CDN_MAPPING) { if (!in_array($child, array(self::CDN_MAPPING_URL, self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS, self::CDN_MAPPING_FILETYPE))) { WP_CLI::error('Wrong child key'); return; } } if ($id == self::O_CRAWLER_COOKIES) { if (!in_array($child, array(self::CRWL_COOKIE_NAME, self::CRWL_COOKIE_VALS))) { WP_CLI::error('Wrong child key'); return; } } if ($id == self::O_CDN_MAPPING || $id == self::O_CRAWLER_COOKIES) { if (!empty($v[$numeric][$child])) { $v = $v[$numeric][$child]; } else { if ($id == self::O_CDN_MAPPING) { if (in_array($child, array(self::CDN_MAPPING_INC_IMG, self::CDN_MAPPING_INC_CSS, self::CDN_MAPPING_INC_JS))) { $v = 0; } else { $v = "''"; } } else { $v = "''"; } } } if (is_array($v)) { $v = implode(PHP_EOL, $v); } if (!$v && $id != self::O_CDN_MAPPING && $id != self::O_CRAWLER_COOKIES) { // empty array for CDN/crawler has been handled if (is_bool($default_v)) { $v = 0; } elseif (!is_array($default_v)) { $v = "''"; } } WP_CLI::line($v); } /** * Export plugin options to a file. * * ## OPTIONS * * [--filename=] * : The default path used is CURRENTDIR/lscache_wp_options_DATE-TIME.txt. * To select a different file, use this option. * * ## EXAMPLES * * # Export options to a file. * $ wp litespeed-option export * */ public function export($args, $assoc_args) { if (isset($assoc_args['filename'])) { $file = $assoc_args['filename']; } else { $file = getcwd() . '/litespeed_options_' . date('d_m_Y-His') . '.data'; } if (!is_writable(dirname($file))) { WP_CLI::error('Directory not writable.'); return; } $data = $this->cls('Import')->export(true); if (file_put_contents($file, $data) === false) { WP_CLI::error('Failed to create file.'); } else { WP_CLI::success('Created file ' . $file); } } /** * Import plugin options from a file. * * The file must be formatted as such: * option_key=option_value * One per line. * A Semicolon at the beginning of the line indicates a comment and will be skipped. * * ## OPTIONS * * * : The file to import options from. * * ## EXAMPLES * * # Import options from CURRENTDIR/options.txt * $ wp litespeed-option import options.txt * */ public function import($args, $assoc_args) { $file = $args[0]; if (!file_exists($file) || !is_readable($file)) { WP_CLI::error('File does not exist or is not readable.'); } $res = $this->cls('Import')->import($file); if (!$res) { WP_CLI::error('Failed to parse serialized data from file.'); } WP_CLI::success('Options imported. [File] ' . $file); } /** * Import plugin options from a remote file. * * The file must be formatted as such: * option_key=option_value * One per line. * A Semicolon at the beginning of the line indicates a comment and will be skipped. * * ## OPTIONS * * * : The URL to import options from. * * ## EXAMPLES * * # Import options from https://domain.com/options.txt * $ wp litespeed-option import_remote https://domain.com/options.txt * */ public function import_remote($args, $assoc_args) { $file = $args[0]; $tmp_file = download_url($file); if (is_wp_error($tmp_file)) { WP_CLI::error('Failed to download file.'); return; } $res = $this->cls('Import')->import($tmp_file); if (!$res) { WP_CLI::error('Failed to parse serialized data from file.'); } WP_CLI::success('Options imported. [File] ' . $file); } /** * Reset all options to default. * * ## EXAMPLES * * # Reset all options * $ wp litespeed-option reset * */ public function reset() { $this->cls('Import')->reset(); } } .elementor-shape { overflow: hidden; position: absolute; left: 0; width: 100%; line-height: 0; direction: ltr; /* * @TODO: The `z-index: -1` rules below are temporary fixes for Chrome 85 issue. * It will be removed in a future version of Chrome. */ } .elementor-shape-top { top: -1px; } .elementor-shape-top:not([data-negative=false]) svg { z-index: -1; } .elementor-shape-bottom { bottom: -1px; } .elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; } .elementor-shape[data-negative=false].elementor-shape-bottom { transform: rotate(180deg); } .elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); } .elementor-shape svg { display: block; width: calc(100% + 1.3px); position: relative; left: 50%; transform: translateX(-50%); } .elementor-shape .elementor-shape-fill { fill: #fff; transform-origin: center; transform: rotateY(0deg); } /*# sourceMappingURL=shapes.css.map */ عناية وتقوية الشعر - مركز انطاكية في سورية | الدكتور بسيم صيقار

عناية وتقوية الشعر

عناية ونضارة البشرة
27 January، 2018
حقن مواد مالئة ونفخ خدود وشفاه
27 January، 2018

طرق تقوية لشعر الضعيف :

يمكنك تطبيق علاج OTC :

يذكر بأنه العلاج الوحيد الذي أقرته منظمة الأدوية والعقاقير الأمريكية لعلاج الشعر الضعيف قد يكون السبب وراء ذلك وجود المينوكسيديل الموضعي والذي يعمل علي زيادة معدل نمو الشعر وعند تطبيق 2% من المينوكسيديل علي فروة الرأس مرتين يساعد في إعادة نمو الشعر بنسبة 40 % وقد يكون له أثار جانبية مثل حكة وإحمرار في فروة الرأس .

تناول 8 أكواب من المياه يومياً :

الشعر الضعيف ناتج عن نقص التغذية التي تضعف بصيلات الشعر وعند الحصول علي الفيتامينات والمعادن الأساسية تساعد في إعادة نمو الشعر الضعيف وفي دراسة تمت في جامعة روتشستربرئاسة الدكتورة ماري غيل ميركويو2002 بأنه يمكنك تحقيق ذلك من خلال الحفاظ علي تناول 8 أكواب مياه يومياً حيث تساعدك في زيادة ترطيب فروة الرأس .

خليط العسل وعصير الليمون للرجال :

نشر بحث في مجلة الخلية عام 2014 بأن هناك أدوية طبيعية موجود في المطبخ يمكنك الإستفادة منها في علاج الشعر الضعيف وهي خليط من العسل وعصير اليمون لكي يساعدك في علاج مشاكل الشعر المختلفة مثل الضعف من خلال خلط كميات متساوية من العسل وعصير الليمون معاُ ثم تطبيق الخليط علي فروة الرأس وغسله بعد مرور نصف ساعة .

البيوتين وزيت الخروع :

عند إجراء دراسة سريرية في 2003 نشرتها المجلة البريطانية لأمراض الجلدية بأن الكثير من حالات ضعف الشعر عند المرضي ناتجة عن الإجهاد والقلق ونقص فيتامين ب 7 وأنه مع إستخدام زيت الخروع لاحظ الباحثون زيادة في معدل نمو الشعر لأنه ساعد في زيادة نسبة البيوتين وقد تحتاج إلي إستخدام أي زيت أخر مع زيت الخروع مثل زيت جوز الهند، زيت الزيتون، أي زيت نباتي وخلط كمية مناسبة من زيت الخروع مع الزيت النباتي ثم تطبيقها علي فروة الرأس وتركها لمدة 30 دقيقة قبل غسلها بالشامبو .

كما نصح الباحثون بتناول مكملات البيوتين بالتزامن مع تطبيق زيت الخروع علي الرأس والإستمرار علي ذلك لمدة 3 – 6 أشهر وتأكد أنك تتناول ما لا يزيد عن 5000 ميكروجرام يومياً ولا تحاول زيادة الجرعة لأنها قد تؤدي إلي مضاعفات خطيرة .

تناول حمية غذائية من فيتامين هـ:

قامت دراسة علي الرجال والنساء وتم نشرها مركز كيفين مانكوسو للأمراض الجلدية 2003 لاحظت فيها بأنه عند زيادة إستهلاك فيتامين هـ يساعد في إعادة نمو الشعر وزيادة قوة الشعر الضعيف.لذلك يذكر الأطباء ضرورة الحرص علي تناول مكملات فيتامين هـ أو تطبيق المكملات مباشرة علي فروة الرأس للحصول علي نتائج إيجابية مباشرة .

يساعدك فيتامين هـ في تنشيط الدورة الدموية ونمو بصيلات جديدة . لذلك فإن فيتامين هـ عنصر ضروري جداً للأفراد الذين يعانوا من الشعر الضعيف ويمكنك الحصول عليه بسهولة من الصيدليات .

قناع الصبار مع حليب الجوز :

إذا كنت لا ترغب في اللجوء إلي الحلول الصيدلية يمكنك عمل مزيج من الصبار مع حليب جوز الهند غالباً ما تحتاج إلي 25 مل حليب جوز الهند وخلطهم جيداً معاً ثم تطبيقهم مباشرة علي فروة الرأس ولف الشعر بكيس سلوفان وتركه علي الشعر لمدة 1 ساعة علي الأقل قبل شطفه بالماء البارد

الأدوية المعتمدة من هيئة الأدوية والعقاقير الدولية :

وتنصح دراسة نشرت في الدورية الطبية لجامعة فايخبو 1999، بمجموعة من الأدوية الطبية التي قد يتجه إليها الأفراد وحصلت علي المواقفة من هيئة الأدوية والعقاقير الدولية بعد تجربتها في أمريكا الشمالية وأجزاء كبيرة من أوربا وهي كالأتي :

دوتاستيريدي : يمكنك تناول هذا الدواء عن طريق الفم يستخدم لعلاج الشعر الخفيف وتساقط الشعر عند الرجال .ويحتوي علي مركبات نشطة تمنع إنتاج الديهدروتسترون وعند الحد من إنتاج هذا الإنزيم يساعد في نمو بصيلات الشعر .

فيناسترايد : يعطي هذا الدواء نتائج ممتاز مع الرجال والنساء الذين يعانوا من فقدان الشعر والشعر الخفيف ومفيد للمرضي الذين يعانوا من BPH

مينوكسيديل : من الأدوية التي تعطي نتائج جيدة وتعمل علي إعادة نمو الشعر وبالتالي تقوية الشعر الضعيف .ويجب الإنتباه إلي أن الشعر الذي ينمو يمكن أن يسقط مرة أخري بعد التوقف عند تناول هذا الدواء .

Comments are closed.