М

Михаил

+28
Репутация
90
Рейтинг
0
Михаил Михаил Imperavi Redactor для 1.10.3 8 лет назад
<зануда>Imperavi, он же Redactor ведь платный нынче, и ORM лицензия стоит не дешево, вы ей обладаете?</зануда>
Мой вам совет, посмотрите в сторону ckeditor 4ой ветки, обладает более дружелюбным интерфейсом и более функционален, абсолютно бесплатен.
0
Михаил Михаил InstantCMS 2: Первый взгляд 9 лет назад
Хотелось так же посоветовать bootstrap для админки или стандартного шаблона :)
0
Михаил Михаил Плагин "Контекстные ссылки" 9 лет назад
Да зачем же блин ... ну вы изобретатели велосипедов.
Ладно, сделал для себя как хотел, удаляюсь из темы.
0
Михаил Михаил Плагин "Контекстные ссылки" 9 лет назад
Я как бы на это и намеках. Тот же file_get_contents() и file_put_contents() куда быстрей будут работать чем текущая извращенная модель.
0
Михаил Михаил Плагин "Контекстные ссылки" 9 лет назад
Так же мой вам совет, как избежать замены в ссылках либо же в картинках с альт-ом.
Вот пример:
Код PHP:
<a href="http://blablabla.zone" title="ссылка">ссылка
<img src="http://blabla.zone" alt="ссылка" /></a>
и к примеру, мы заменяем слово: "ссылка" на какое-либо значение. Избежать это просто. Достаточно получить 1ый символ ДО вхождения, и сверить - если этот символ входит в исключения: " > < / ' - то попросту не заменять smile Могу подсобить с регуляркой, если сами не знаете как такое провернуть :)
0
Михаил Михаил Плагин "Контекстные ссылки" 9 лет назад
И в чем беда? smile Используйте разделитель и все дела.
Такие плагины есть на многих цмс, и используется именно такая модель разбивки, чаще всего через какой-то символ, да и на скорость работы это сильно не влияет.
0
Михаил Михаил Плагин "Контекстные ссылки" 9 лет назад
Я бы рекомендовал переработать модель замены ссылок.
К примеру, под такую:
слово1|ссылка1
слово2|ссылка2

Пример разбора:
Код PHP:
<?php
$string = "слово1|ссылка1
слово2|ссылка2";
// получаем массив с каждой строкой в новом индексе
// $toArray[индекс] = 'номер_строки';
$toArray = explode("\n", $string);
// крутим в цикл
for($i=0;$i<=sizeof($toArray);$i++) {
// режим еще раз, на "ключ=>слово"
list($key,$value) = explode("|", $toArray[$i]);
// ну вот и наши ключь + ссылка, делаем что хотим, я эчну (:
echo "Слово: ".$key." ссылка: ".$value;
// а в вашем случае где то так:
// str_replace($key, "<a href='$value' title='$value'>$key</a>", $строка);
}
?>
+1
Михаил Михаил Минивикторина для InstantCMS 9 лет назад
Код PHP:
$check_text = "Мой ТеКсТ с РаЗнЫМи БуКвамИ";
$answer = "мой текст с разными буквами";
if($answer == strtolower($check_text)) echo "успех";
+2
Михаил Михаил Легкий шаблон v 1.9 10 лет назад
Сделать бы еще хак "мобильная версия сайта" на данном шаблоне и было бы отлично.
0
Михаил Михаил Техническое обновление компонента места версия 0.5.3 10 лет назад
Ну вот smile А говорили разработку прекратите
+1
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Держите вывод карты на главной модуля(где посл. точки):
в фронт компонента(фи-я с модуля без echo)
Код PHP:
function showmapOnSmall($user_id)
{
  $inCore = cmsCore::getInstance();
  $inUser = cmsUser::getInstance();
  $cfg = $inCore->loadComponentConfig('usermaps');    
      
  $result = "";    
  $result .= ' <script src="http://api-maps.yandex.ru/1.1/index.xml?key='.$cfg['yandex_key'].'" type="text/javascript"></script>';

  if($inUser->id != 0)
  {
    $sql = mysql_query("SELECT * FROM cms_places WHERE `user_id` = '".$inUser->id."' AND `type_id` = '1'");
    $data_point = mysql_fetch_assoc($sql);
    if(mysql_num_rows($sql) == 0)
    {
      $center = $cfg['maps_center'];
      $zoom = "12";    
    }
    else
    {
      $center = $data_point['x'].', '.$data_point['y'];
      $zoom = "13";
    }
  }
  else
  {
    $center = $cfg['maps_center'];
    $zoom = "12";
  }
  $result .= '<script type="text/javascript">
        window.onload = function () 
        {
        var map = new YMaps.Map(document.getElementById("YMapsID"));
        map.setCenter(new YMaps.GeoPoint('.$center.'), '.$zoom.');
        var zoomControl = new YMaps.Zoom({noTips: true});
        map.addControl(zoomControl);
	map.addControl(new YMaps.TypeControl());
	map.setType(YMaps.MapType.'.$cfg['maps_engine'].');
    ';

/*Cтили меток*/
  $result .= 'var userStyle = new YMaps.Style();
	userStyle.iconStyle = new YMaps.IconStyle();
	userStyle.iconStyle.offset = new YMaps.Point(0, -40);
	userStyle.iconStyle.size = new YMaps.Point(40, 40);
	userStyle.iconStyle = new YMaps.IconStyle();
	userStyle.iconStyle.href = "/components/usermaps/img/marker_me.png";
	';
  $result .= 'var baseStyle = new YMaps.Style();
	baseStyle.iconStyle = new YMaps.IconStyle();
	baseStyle.iconStyle.offset = new YMaps.Point(0, -20);
	baseStyle.iconStyle.size = new YMaps.Point(20, 20);
	';

  $sql_cat = mysql_query("SELECT * FROM cms_places_category WHERE is_root = '0'");
  while ($data = mysql_fetch_assoc($sql_cat))
  {
    $pic = "/components/usermaps/img/".$data["name"].".png";
    $result .= 'var style_'.$data["id"].' = new YMaps.Style(baseStyle);
	  style_'.$data["id"].'.iconStyle = new YMaps.IconStyle();
	  style_'.$data["id"].'.iconStyle.href = "'.$pic.'";
    ';
  }

/************************/
  $sql = mysql_query("SELECT * FROM cms_places ORDER BY `id` DESC");
  while($place = mysql_fetch_assoc($sql))
  {
    if($place["type_id"] == "1")
    {
      if($_SESSION["user"]["id"] == $place["user_id"])
      {
	$result .= 'var placemark_'.$place["id"].' = new YMaps.Placemark(new YMaps.GeoPoint('.$place["x"].','.$place["y"].'), {style: userStyle});';
	$place_user_id = $place["id"];
      }
      else
      {
	$result .= 'var placemark_'.$place["id"].' = new YMaps.Placemark(new YMaps.GeoPoint('.$place["x"].','.$place["y"].'), {style: style_'.$place["type_id"].'});';
      }
      if($_SESSION["user"]["id"] != 0)
      {
	$user = mysql_fetch_assoc(mysql_query("SELECT * FROM cms_users WHERE `id` = '".$place["user_id"]."'"));
	$image = mysql_result(mysql_query("SELECT imageurl FROM cms_user_profiles WHERE `user_id` = '".$place["user_id"]."'"),0);
	if($image == "")
	{
	  $image = "nopic.jpg";
	}
       
	$result .= ' placemark_'.$place["id"].'.name = "'.$user['nickname'].'";'."\n";
	$result .= ' placemark_'.$place["id"].'.setBalloonContent("<a href=\"/users/'.$user['login'].'\"><img src=\"/images/users/avatars/small/'.$image.'\"></a>");'."\n";
      }
    }
    else
    {
      $result .= 'var placemark_'.$place["id"].' = new YMaps.Placemark(new YMaps.GeoPoint('.$place["x"].','.$place["y"].'), {style: style_'.$place["type_id"].',});'."\n";
      $result .= 'placemark_'.$place["id"].'.setBalloonContent("<a href=\"/usermaps/view'.$place['id'].'.html\">'.str_replace('"','\"',$place["title"]).'</a>");'."\n";
    }
    $result .= 'map.addOverlay(placemark_'.$place["id"].');'."\n";
  }
  $result .= '}'."\n";
  $result .= '</script>

  <div id="YMapsID" style="width:100%;height:600px;margin-bottom: 10px;"></div>';

  if ($_SESSION["user"]["id"] != "")
  {
    if($place_user_id == "")
    {
      $result .= '<a href="/usermaps/add.html">Добавь себя</a>';
    }
    else
    {
      $result .= '<a href="/usermaps/edit'.$place_user_id.'.html">Изменить местоположение</a>';    
    }
    $result .= ' | <a href="/usermaps/poi_add.html">Добавить Организацию</a>';
  }
  else
  {
    $result .= '<a href="/registration">Добавить себя</a>';
  }
  $last = mysql_fetch_assoc(mysql_query("SELECT * FROM cms_places WHERE type_id <> 1 ORDER BY id DESC LIMIT 1"));
  $last_cat = mysql_fetch_assoc(mysql_query("SELECT * FROM cms_places_category WHERE id = ".$last['type_id']." ORDER BY id DESC LIMIT 1"));
  $result .= ' | Всего точек : '.mysql_num_rows($sql).' | Новая точка: <img src="/components/usermaps/img/'.$last_cat["name"].'.png" style="margin-bottom: -5px"> <a href ="/usermaps/view'.$last['id'].'.html"> '.$last_cat['title'].' "'.$last['title'].'"</a>';
  return $result;
}
Ну и в том же фронте:
Код PHP:
  if($do == "poi_list")
  {
    $inPage->setTitle("Последние добавленные точки интересов");
    $poi = $model->getAllPoi(NULL);
    print_r($messages);
    $smarty = $inCore->initSmarty('components', 'com_places_add.tpl');
    $smarty->assign('cfg', $cfg);
    $smarty->assign('poi', $poi);
    $smarty->display('com_places_view_poi.tpl');
    return;
  }
заменить на:
Код PHP:
  if($do == "poi_list")
  {
    $inPage->setTitle("Последние добавленные точки интересов");
    $poi = $model->getAllPoi(NULL);
    print_r($messages);
    $smarty = $inCore->initSmarty('components', 'com_places_add.tpl');
    $smarty->assign('cfg', $cfg);
    $smarty->assign('smallmap', showmapOnSmall($inUser->id));
    $smarty->assign('poi', $poi);
    $smarty->display('com_places_view_poi.tpl');
    return;
  }
В шаблон (com_places_view_poi.tpl) добавить вывод {$smallmap} и все, успех.
-3
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Вам никто и не говорит что вы плохой, но хвастаться чем либо не нужно, нужно что бы это делали те, кому вы помогли :)
0
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Я лишь констатировал факт .... или для вас лучше сладка лож чем горька правда?
-5
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
А вы думаете все так и побегут вам что-либо давать из наработок? Скажу так, 80% сообщества поставит и забьет, 15% что то сделает для себя и забьет, а 5% - дартаньяны и не факт что кто-либо из этого % скачает ваш компонент и будет дорабатывать его на публику.
Так было, есть и будет всегда, увы. Если вы этого не знали - ну что ж, теперь знаете )
-3
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Вы меня решили своим не знанием лицензии GPL пугать? Печально ...
Почитайте перед тем как что то говорить (
-4
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Дело в том что вывести хочу именно не на главной, а в самом компоненте(на главной место итак забито под гланды).
Ладно, придумал иную реализацию (сделал твинк-компонент пустой с опцтимизацией под поисковые запросы, в нем вывел карту с метками). :D
-4
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Еще 1 предложение автору: сделать 1 тех. страничку в компоненте которая бы выводила всю карту вместе с метками.
Т.е. сейчас есть модуль который это делает, но беда в том, что если вывод сделать на главной компонента он будет выводится и внутри страничек(добавление точек и т д) чем будет мешать добавлению новых точек (неактивны метки).
+1
Михаил Михаил Компонент Вакансии - резюме 1.15 10 лет назад
Фильтры сделали на вводимые данные?
-1
Михаил Михаил Компонент "Карта пользователей" (бывшие "Места"). Версия 0.5.2 10 лет назад
Я для себя уже пофиксил давно ... сделал проверку на $place['id'] и все дела ...
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.