Загрузка фотографий в каталог для Google Maps

Тема в разделе "Программирование", создана пользователем Алекс, 12.02.2008.

  1. Алекс
    Offline

    Алекс Недавно здесь

    Регистрация:
    12.02.2008
    Сообщения:
    1
    Симпатии:
    0
    Поставил себе компонент com_google_maps и сейчас его перелопачиваю под себя. Находясь под впечатлением от сайта http://www.pushkino.org/ пытаюсь сделать под joomla похожее. Одна из задач сделать добавлялку нового места пользователем с фотографией объекта. В добавлялке через формы отправляется Название объекта, улица, дом, координаты точки. Все эти поля были и раньше и с ними проблем никаких. А вот с добавлением фотографии объекта пошли проблемы. Т.к. многие поля из оригинального компонента мне вовсе не нужны, я решил их использовать для себя. Так я поле, которое раньше служило для добавления zipcode решил переделать под поле для добавление фотографий. Т.е. и ячейку в БД под этот zipcode я буду использовать под имя фото. Для начало вместо неиспользуемой text формы, я поставил форму file. В ней понятное дело добавлялка файла с кнопкой "обзор". Если бы это была обычная php добавлялка вне joomla - то там все просто - через $HTTP_POST_FILES я получал бы и имя файла, и его размеры и все что надо. В joomla я так и не смог найти информации по форумам, как такое получать из $row->photo (я так понял, что именно сюда вгоняться должен мой файл). На форуме если где-то и есть информации, то только про отправку простого текста. Вообще мне надо, что бы скрипт получал файл, переименовывал его по маске "имя файла + дата + ЧЧ ММ СС"(это что бы одинаковых картинок не было), дальше имя файла отправлялось в БД в ячейку zipcode, а сам файл оригинал в папку с картинками, уменьшенный вариант в другую папку с уменьшенными картинками. В простом PHP я это смог написать, в joomla не могу разобраться. Вот собственно и вопрос и просьба - или подскажите что и как тут делать, или дайте ссылку, где это четко расписано.

    вот код функции, которая отвечает за добавление полей в БД
    Код (PHP):
    1. function savePlace( $option ) {
    2.     global $database, $my;
    3.  
    4.     if ($my->gid < 1) {
    5.         mosNotAuth();
    6.         return;
    7.     }
    8.     // See Joomla 1.5 Note
    9.     $row = new mosPlace( $database );
    10.     if (!$row->bind( $_POST, "approved published" )) {
    11.         echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
    12.         exit();
    13.     }
    14.     // save params
    15.     $params = mosGetParam( $_POST, 'params', '' );
    16.     if (is_array( $params )) {
    17.         $txt = array();
    18.         foreach ( $params as $k=>$v) {
    19.             $txt[] = "$k=$v";
    20.         }
    21.         $row->params = implode( "\n", $txt );
    22.     }
    23.  
    24.     $q2 = "SELECT * FROM #__google_maps_conf WHERE id = 1";
    25.     $database->setQuery($q2);
    26.     $confData = $database->loadObjectList();
    27.     $confData = $confData[0];
    28.  
    29.     $isNew = $row->id < 1;
    30.  
    31.     $row->date = date( "Y-m-d H:i:s" );
    32.  
    33.     // pre-save checks
    34.     if($confData->geocode) {
    35.         if (!$row->check()) {
    36.             echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
    37.             exit();
    38.         }
    39.     }
    40.    
    41.     $row->published = $confData->autoApprove;
    42.    
    43.     // If we didnt generate a lat/lng, mark as unpublished
    44.     if ($row->lat == "" || $row->lng == "" && $row->markerType != "2") {
    45.         $row->published = 0;
    46.     }
    47.    
    48.     // save the changes
    49.     if (!$row->store()) {
    50.         echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
    51.         exit();
    52.     }
    53.    
    54.     $row->checkin();
    55.    
    56.     /** Notify admin's **/
    57.     $query = "SELECT email, name"
    58.     . "\n FROM #__users"
    59.     . "\n WHERE usertype = 'Super Administrator'"
    60.     . "\n AND sendemail = '1'"
    61.     ;
    62.     $database->setQuery( $query );
    63.     if(!$database->query()) {
    64.         echo $database->stderr( true );
    65.         return;
    66.     }
    67.  
    68.     $adminRows = $database->loadObjectList();
    69.     foreach( $adminRows as $adminRow) {
    70.         mosSendAdminMail($adminRow->name, $adminRow->email, "", "Google Map Marker", $row->title, $my->username );
    71.     }
    72.  
    73.     // Joomla 1.5 Note
    74.     $msg    = $row->published ? "Thank you for your submission" : _THANK_SUB;
    75.     $Itemid = mosGetParam( $_POST, 'Returnid', '' );
    76.     mosRedirect( 'index.php?option=' .$option. '&Itemid='. $Itemid, $msg );
    77. }



    PS:Когда закончу, обещаю поделится красиво-переделанным компонентом, для добавления мест на карту гугла.
     
  2.  
  3. Offline

    cheluskin Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    2
    Симпатии:
    0
    Ответ: Загрузка фотографий в каталог для Google Maps

    Ээээххх найти бы рабочий компонент. Всё приходится самому делать . Каждый раз велосипед изобретать . Будем ждать твой компонент , а то от Пушкинцев ни строчки кода не допросишься .
     
  4. Offline

    sock4proxy Недавно здесь

    Регистрация:
    28.07.2008
    Сообщения:
    5
    Симпатии:
    0
    Дружище, а поделись компонентом, а...
    а то что то все ссылки померли...
     

Поделиться этой страницей

Загрузка...