Category: develop

Happy Birthday… to US!

Времето си минава, вятърът продухва празните глави на хората и разнася неизписаните листчета хартия по празните, студени улици. И като всяко нещо, подвластно на константата време, така и ние остаряхме с една година. Така де, сайтът остаря, но за него времето не тече по-различно, та реално всички сме добавили една годинка към колекцията.
Сега, ако погледна назад тези изминали 12 месеца, и видя какво сме постигнали, не бих казал, че е толкова много… Не, това не е песимизъм, а реален факт. Съпоставен е разбира се срещу това, което сме си мислили или сме си мислели, че си мислим :Д Но това не значи, че ще се откажем. Ни най-малко. Зад това твърдение мисля, че смело застава и фактът, че рождения ден отчетохме с чисто нова, собствено изработена версия, на сайта и цял нов раздел с красива и обемиста статия.
Надявам се, че през следващите няколко месеца ще можем да добавим още не малко екстри – някои видими за нормалното око, други скрити из кода на страницата, но все така ценни и важни за цялостната функционалност на сайта.

Решихме също така, по случай рождения си ден, да подарим диск на един от вас – този, който успее правилно да отговори на един елементарен въпрос. Кликнете на картинката по-горе, за да отидете на страницата с играта. Попълнете кратката форма и участвайте в първата игра с награди на gothic.bg. Тя ще продължи до края на месеца и победителят ще бъде уведомен по мейла, който е въвел в полето (затова гледайте да пишете правилен и съществуващ мейл, защото ако сте победител и не успеем да се свържем с Вас, няма да си получите наградата).
Много ми се иска да се съберат поне едно десет-петнадесет човечета, че да можем наистина да наречем това игра. За съжаление вече над две седмици (началото беше поставено на втори март със стартирането на новата версия на сайта и все още седи на главната страница) имаме точно двама участника, което е жалко наистина.

И все пак, като заключение, искам да кажа, че ние смело продължаваме напред и бавно, но славно ще увеличаваме базата си данни със статии, биографии и ревюта, както и ще добавяме и променяме фунционалностии по самия сайт. Кой знае, може пък от следващата година вече да се похвалим със солидна фен база 🙂

Честит ни рожден ден 🙂


www.gothic.bg Beta Test

Време е 🙂 Бета тестовете на новата, изцяло авторска версия, на сайта вече започнаха. За повече подробности и информация можете да посетите темата ни във форума.
Най-искрено се надявам до края на месец февруари всички проблеми и глупости по сайта да бъдат изчистени напълно и от първи март да функционира новата логическа (не външен вид) версия на готик.бг. Имам още неща на ум, които планирам да добавя като опции, но поне вече няма да ми се налага да ровя като откачен из сайтове за компоненти на джумла, които да предлагат това :Д
Също така се надявам, че с новата система за потребители ще привлечем и повече човечета, като всяко участие на сайта ще се поощрява, а бонус точките един ден могат да ви донасат неочаквани награди 🙂

Станете част от Българския готик портал… сега! :Д


gothic.bg version 2

Първо, нека започнем с причината, поради която изработването на версия 2 беше наложително. Тя е много проста – контрол над това, което може да се добавя и прави по сайта. Версия 1 на сайта е изработена върху cms (content management system) Joomla и дълго време върши повече от прекрасно своята цел. Проблемът обаче се появява когато се наложи да правиш неща, които системата не ти позволява или ти позволява в някаква прекалено незадоволителна степен. (За пример „Очерк на събитие”, заради когото се наложи промяна на базата данни и писане на код директно в компонентите. Това от своя страна прави ъпдейта на този компонент, а и на цялата Joomla абсолютно невъзможно, а в новите версии със сигурност може да се появят нови и хубави неща.) До този момент се опитвах по един или друг начин да се нагаждам към възможностите на фреймуърка и да ги използвам максимално. Проблемите се появиха с изграждането на User Area-та, за която вече ставаше дума. Тук ограниченията и възможностите са много под желаните от мене, а за да постигна това, което аз искам, ще се наложи много сериозна модификация на много неща. Именно поради този факт сметнах, че много по-лесно и удобно ще е аз сам да си създам сайт като тук всички ограничения ще опират единствено до моите умения.
Искам да обърна внимание на факта, че от дизайнерска гледна точка, сайтът няма да претърпи кой знае какви промени. Цялостната идея ще си остане същата, защото не ми се мисли нов дизайн, а и на този му е още рано да се сменя :Д Това, което се променя, всъщност е ядрото. Сайтът ще бъде изцяло писан от мене и няма да ползва никаква основа освен моята собствена.
Какво ще бъде новото и/или промененото:
Главната страница:
Новините на главната страница вече ще се генерират динамично и всичко е вързано по месец, ден и година. С други думи всички новини за даден ден са в един пост и скрипта сам ще си ги търси динамично от базата данни и още на първо число на месеца главната страница ще се променя и нов линк с архивно съдържание за изминалия месец ще се появява в дясно. (Това е от техническа гледна точка… Потребителите няма да усетят някаква разлика.)
Също така събитията вече ще се архивират на следващия ден след като са минали, а не 2 дена по-късно и адекватно съобщение на български ще се изписва ако няма предстоящи такива.
В раздел музика:
Събития:
Събитията като цяло си остават със същата идея. Леко съм променил информацията за дадено място и съм премахнал ненужните данни като „Пощенски код” и „Община”, които бяха задължителни преди, заради картите. Линковете към архивирани и предстоящи събития са си правилно асоциирани със съответната категория или място, а линковете към дадена категория или място в таблицата се съобразяват с това дали гледате предстоящи или минали, и ще ви пратят в съответната визуализация.
Новото, което ще забележите, като кликнете на дадено събитие, е опцията да се добавите към него (Само за регистрирани потребители, разбира се). Идеята тук съм взаимствал от last.fm. В смисъл, че принципът е същият – прави се проверка дали е предстоящо или минало събитие и след това ви търси в таблицата. Ако ви няма, ви предлага да си изберете между две опции – дали ще присъствате със сигурност или може би (за предстоящо събитие) или само „Бях” (за минало). Ако сте се записал с едно от двете опции по-горе за предстоящо събитие, ще ви даде избор между другата опция и опция да се отпишете. Ако сте се записали и събитието е минало, ще имате опция да се отпишете, ако не сте ходили. (Тук няма значение дали сте избрали „Да” или „Може би” преди това.)
Биографии:
Цялата страница с биографиите беше преработена, за да има един по-хубав и удобен вид. Няма да бъдат просто изредени снимки на групите, на които имаме преведени биографии. (Вижте скрийншотите за повече инфо). Освен това ще можете да избирате групи, които започват с дадена буква, а също така вече ще има и търсене (За момента не е много смислено, защото нямаме много биографии, но някой ден не се знае :Д).
Освен това като влезнете в самата биография, горе над снимката на групата, ще има обложки на албуми, ако такива съществуват за тази група.
Албуми:
Тук също съм се опитал да придам по-красив и „центриран” вид на страницата. Отново ще имате търсене – както за албум, така и за група. Азбучният указател е за албумите (както и сега).
Таблицата вече има сортировка на всяка една колона, като по този начин можете да подредите албумите по начин, на който на вас ви харесва. Също така е въведено и странициране.
Новото, което липсва във версия едно, е визуализацията на всички албуми от дадена група. Като кликнете на името на групата, ще бъдете отведени до страница, в която ще можете да видите всички албуми от тази група.
При визуализацията на дадено ревю ще можете да видите всички албуми от тази група (ако има повече от един.)
Коментарите също не са забравени и са само за регистрирани потребители. За да се избегнат опити за злоупотреба, коментарите се стрипват от всякакви html тагове, в това число и нов ред. С други думи всичко ви е на един ред  Като съм ги ограничил до 500 символа, което е повече от достатъчно.
Статии:
Музикалните статии също претрърпяха лека промяна и страницата прилича на тази с биографиите. За момента там няма нищо друго, защото са ни малко. Като се увели бройката някой ден, ще мисля за подобрения.
Общо взето останалите раздели са си едно към едно изкопирани, защото не е като да има нужда да им променям нещо.
Това, над което ще се средоточа идния месец, а и януари най-вероятно, ще бъде тази просволута потребителска част, с която всеки да може да изпраща статии.
Сега, като имам пълен контрол, нещата ще са по-лесни от гледна точка на идеята, но самата реализация сигурно няма да е толкова красива и user friendly колкото би била на Joomla-та, но мисля, че в крайна сметка ще стане 
Сайтът ще има нужда от много солиден бета тестинг, защото на много места се налагат адски много проверки и за много неща да бъде помислено. Няма начин просто да успея да се сетя за всичко, а и къде сте виждали завършен продукт без бъгове и проблеми? :Д
По скромните ми сметки се надявам бета тестовете да започнат началото на февруари и да продължат до края на споменатия месец. Идеята е от първи март, когато е официалният ни рожден ден, да започнем да работим с новата версия.
Повече информация отново това и потребителската част, очаквайте като има такава в темата във форума ни.


Anime Catalogues Beta

animebetaКакво беше, а какво стана…
Всъщност този скрийншот от преди четири месеца и половина нямаше нищо общо и с тогавашната крайна алфа версия, която работеше, но… Днес сайтът навлезе в бета стадий и много малко неща ми останаха да завърша, но спокойно мога да кажа, че вече е напълно работещ и всичко си му функционира на макс (може да съм забравил нещо тук или там, но повечето, предимно главни неща, работят)…
Това, което предстои, ще бъде налице до края на месеца, но общо взето повечето работи са направени… И после остава само да го пълня с инфо :Д
Определено обаче мисля, че този дизайн има по-добър вид от предния 🙂


POST/Close Window/Reload Parent

Отново за улеснение, ако ми потрябва пак някой ден, а това съм 100% убеден, че пак ще послужи, защото е адски удобно.
В момента се използва в Anime Catalogues и в частност при добавяне на епизоди и актьорски състав за дадено аниме.
По принцип вие няма как да го видите и изпитате в действие, но това не е важно… Идеята е след въвеждане на аниме през интерфейса, в страницата му на мястото на епизодите да се появи линк, който отваря малък popup прозорец, в който да се въведат епизодите. Същото се отнася и при актьорите, като линка там е върху надписа “Озвучители:”.
Щом си напишете каквото трябва вътре – било то епизоди, било то актьори и роли, при натискане на бутона за изпращане на формата, се изпълнява mysql заявка, която да обработи резултатите и да ги запише в базата. При правилно изпълнение на заявката прозорчето се затваря, а родителския прозорец, от който е отворен popup (ако примем, че не е затворен) автоматично ще се рефрешне като по този начин вече ще влезе в сила казуса за налична информация и няма да се появи линк към въпросните прозорчета. Така човек няма да обърка и, без да е рефрешнал страницата, да натисне наново бутона за нови данни и да добави два пъти нещата (знае ли човек, всичко е възможно :д)
Та това става със следния код (предимно на javascript):


if ($writetodb) { //това проверява дали заявката се е изпълнила успешно и само тогава прави долното
echo '';
}


[] in element name

Не мога да повярвам, че тези две квадратни скоби могат да окажат чак такова влияние на скрипта и да дадат нужния резултат. То е ясно, че [] се ползват за масиви, но… Кой да се досети :Д

(Това си го записвам по-скоро за мене, че да не забравя и да мога лесно да го намеря ако някой ден пак ми потрябва)

Идеята беше да се генерират динамично редове в таблица и всеки ред да е с две клетки – една за актьор и една за роля. След това всичко това да се записва в база данни, като всеки ред от таблицата е ред и в mysql таблицата. За един по опитен програмист това сигурно не е кой знае колко трудно, но за моя милост се оказа сравнително сложно начинание… и голямо предизвикателство, но… В крайна сметка резултатът беше постигнат.

Първо, за генериране на редовете (все пак не знам колко реда ще ни трябват, затова най-елегантно е да позволим на потребителя сам да си слага нов ред като му потрябва) най-лесно става с javascript…

Табличката с формата:


'.$anime_name[0].' New';
?>
Insert Person: Insert Character

tbody-то нарочно съм го сложил преди последния ред с бутона, за да може редовете да се генерират над него. Просто javascript-а слага нов ред в края на таблицата. Сигурно има и по-хубав начин, но не ми се занимаваше да го мисля.

Обработката на всяко едно поле:

if (isset($_POST['character'])) {
$char_post = $_POST['character'];
$character = '';
for($i=0; $i

По този начин имаме два масива, всеки един от които съдържа актьорите и персонажите, разделени със запетайка.

А това вече е самата обработка, която да генерира отделни заявки за всеки един актьор и персонажа му:

$pers_expl = explode(',', $person); //разбиваме масива
$count_pers = count($pers_expl); //броим елементите в масива
$chars_expl = explode(',', $character); //пак - разбиваме другия масив
$count_chars = count($chars_expl); //пак броим елементите

for ($i=0; $i < $count_pers; $i++) { //започваме for цикъл, който да се изпълнява толкова пъти, колкото са елементите на първия масив с актьорите $one_person = $pers_expl[$i]; //записваме всеки елемент в отделна променлива if (trim($one_person) != '') { //проверяваме дали полето не е празно, като trim функцията ще проверява дали полето не е само празни места $counted = count($one_person); while ($counted > 0) { //цикълът ще се изпълнява докато има актьори
$one_character = $chars_expl[$i]; //в цикъла за актьорите вмъкваме и персонажите, за да може на всеки актьор да съответства съответния му ред персонаж
$counted = count($one_character);
while ($counted > 0) {
if (trim($one_character) == '') { //проверка дали и полето за персонаж не е празно или само празни места
echo 'You need to insert a character';
exit;
}
$counted--; //намаляме цикъла с едно и пак го изпълняваме
}
$query = "INSERT INTO anicat_cast (cast_id, cast_anime_id, cast_person, cast_character)
VALUES (NULL, '".$anime_id."', '".trim($one_person)."', '".trim($one_character)."')"; //самата заявка
$counted--;
$writetodb = mysql_query($query); //пишем в базата
}
}
else {
echo 'You need to insert a person';
}
}

Накрая, като го гледах този код, осъзнах, че не е чак толкова труден, но все пак, докато се сетя за него, много нерви бяха... и страшно главоболие в края на вечерта :Д


Anime/Alpha/Final

untitledДаже може да се каже и бета вече, защото основната част от дизайна ще бъде това. Само няколко елемента ще претърпят леки козметични проблеми. Като цяло за момента само search-a работи, защото не съм написал останалите неща :Д
Но това е общата идея. И, разбира се, като за капак, под IE7 не работи както трябва (защо ли не съм изненадан). Това, което ме изненада обаче, беше IE8. Новата версия на този браузер се държи вече повече като опера отколкото като предните си версии. Просто не мога да повярвам, че под него няма никакви проблеми с нищо.
И, за тези, които имат желание, в search кутийката търсете за 3×3 или eyes, за да ви излезне резултат за аниме. При студио едно просто о върши работа, за да се види как се вадят резултати като има повече от едно студио, в което съдържа търсената фраза. До края на другата седмица мисля, че ще съм направил доста от нещата. (И да не забравя и някакво странициране да сложа, че напълно ми изскочи от ума.)
Само за информацията: данните за тези анимета не са много акуратни, защото исках да включа повече варианти и да проверя колкото се може повече възможности, но просто ме мързи да добавям още анимета.
Държа да отбележа, че този път се опитах да се придържам към стандартите, които нашата фирма (Виском/Еуроуеб) е приела, а именно изцяло tableless модел за изграждане на сайта. Всичко се конструира от div-ове и мисля, че се получи. Само трябва да си пограя да видя защо под IE7 менютата отиват в центъра при главното съдържание :Д Та, ако ползвате IE7, по-добре просто си обновете бразуера до 8 за момента.
Както казах няколко пъти вече, The List ще си остане и най-големият ми и мащабен проект, който непрекъснато ще развивам и разширявам… Докато някой ден не се окаже нещо повече от сайт за развиване на php уменията ми :Д
Само да отбележа още, че това сигурно е първият ми сайт, който е изцяло светъл… Тъмните и мрачни тонове тук въобще ги няма даже :Д


Alpha/Anime

Цък за по-голяма версия… Още в много ранна алфа…


In Development

Тези дни сериозно се захванах да правя нови неща по каталозите и както се очертава, това ще бъде (то си е де) най-големият ми и мащабен проект, който не е писан на cms или някаква готова платформа, а всичко е писано от самата нула от мене. (Което автоматично го превръща в моята гордост :Р)
И така, новите неща (още не са качени на лайва):
1. Да живее RAND() функцията на MySQL-а, която без проблем ми позволи да добавя по осем (ако са по-малко от осем, се показват всичките) албума (за музиката), книги (за авторите на книги) и филми (при режисьорите) на напълно произволен принцип в детайлите за даден албум, книга или филм. Изобразяват се под формата на малък thumbnail, който е съпроводен с overlib текст за по-хубава прегледност…

2. Премахнах изцяло More таба, който май никога няма да се наложи да ползвам така или иначе.
3. Множество различни детайлни статистики за почти всичко по каталозите, като в музиката и игрите имаше най-много екстри – игри по стилове, групи по държави, албуми по двд-та… и т.н.
4. Оригиналните игри вече си имат малко лого на thumbnail-a и по-голяма картинка на детайлната страница, с което си личи, че са оригинални, а не просто записани кракнати версии
5. При класациите с филмите отделих сериалите от пълнометражните филми в два отделни чарта.

Това, което престои, са няколко доста големи неща (не дребни екстри като горните):
1. Отделен раздел за анимета с различен дизайн. С други думи ще бъде нещо като отделен сайт, но все пак част от каталозите. Повечето анимета вече не ги записвам на двд-та, защото ги държа на терабайтовия хард диск и съответно те няма да намерят място сред каталозите. Затова за тях съм подготвил отделна секция.
Обмислям идея за подобен раздел и за ужасите само, но това е много в кръга на обмислянето.
2. Профили на издателство и автор (при книгите) и режисьор (при филмите), които няма да са просто search резултати за даден0 издателство или режисьор както беше във версия седем (и което премахнах в тази версия). Ако успея да оправя кашата, която е при разпространители и разработчици при игрите, и те може да се сдобият с подобни профили…

Друго не се сещам за сега и ако някой се запита защо ги пиша тези неща и кой се интересува… отговорът е много прост – аз ;Д Просто да не забравя какво съм решил да правя, че не е ясно кога ще започна и дали ще си помня още идеите дотогава 🙂


gothic.bg New Forum Design

Добре де, признавам си, предната тема на форума беше ужасна… Човекът, който я е правил, сигурно не е знаел за съществуването (или го е отричал) на други браузери освен мозила (визирам IE разбира се :Д)… Имаше адски много бъгове и не седеше добре на по-ниски резолюции (не че ми е ясно кой още ползва 640х480 да речем, но това е друга тема)…
Та в този дух на мисли реших, че е време да се заемем малко по-сериозно и да си направим собствена тема, която да е съвместима колкото се може с повече от изискванията и възможностите на потребителите. Не става дума да напиша нещо от нулата – в това смисъл няма, а и толкова време нямам… Но намерих наистина добра от към структура и код тема, която похванах понеделника и смятам, че ще успея да редизайна почти на 80%, но ще пасне на форума… Като този път дизайна включва всичко, дори бутони на български 🙂 Дано се окаже по-добра от предната 🙂


best ark server hosting