# Proj. - Alla får vara med!
Author: [Borttaget]

Hej på er!

Jag tänkte dra igång ett större projekt inom Php (och html,css,javascript osv...). Ett sånt där projekt - Börja och se vart det slutar.

Vanligtvis brukar det sluta i papperskorgen men ändå kul att ha gjort något. Tvisten med det här projektet är att det går enligt principen "Alla får vara med.".

Man får vara med hur mycket man vill och hur lite man vill. Det enda kravet är att det (lilla eller mycket) man gör ska vara välgjort så att det inte blir gröt av all kod.

Jag börjar med att göra ett simpel community-ramverk som vi utgår ifrån. Projektet kommer sedan att läggas upp på en lämplig .se-adress och koden kommer att ligga publikt och tillgänglig för alla.

Så, fram med alla idéer och drömmar så sätter vi igång. Jag publicerar löpande hur arbetet fortskrider.

Lust att visa upp dina färdigheter och kreativa tänkade? Let's do it!

Källkod finns på GitHub:  
[https://github.com/FelixStridsberg/Alla-f-r-vara-med](https://github.com/FelixStridsberg/Alla-f-r-vara-med)

Projektet ligger hostat på en gammal nedstängd blogg tills vidare:  
_\[Nedstängd, ny ägare av domänen\]_  

_(Kommer att börja fungera senast 15:30 23/1)_

För dem som vill testa men inte registrera sig finns ett testkonto:

Användarnamn: demo  
Lösenord: demo

## Comment 1
Author: [Borttaget]

Jag slängde lite snabbt ihop en design för att ha något att utgå ifrån, den kommer och ska ändras minst etthundratusen gånger!

## Comment 2
Author: [Borttaget]

Den uppdaterade versionen kommer alltid att ligga:  
[https://github.com/FelixStridsberg/Alla-f-r-vara-med](https://github.com/FelixStridsberg/Alla-f-r-vara-med)  
  
Den kommer även att finnas publicerad på webben för testing inom kort.

## Comment 3
Author: [Borttaget]

Alla som vill kan ladda ner och testa systemet lokalt på datorn så länge, det som krävs är Php och mysql är installerat. MySQL strukturen finns i filen /includes/classes/FxS\_Mysql.sql.php

## Comment 4
Author: ryttarn

Låter intresant, får se hur mycket min tid tillåter......

## Comment 5
Author: Stephanie

Låter kul! ![Skrattande](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-laughing.gif "Skrattande") Får skynda mig klart med plugget..!

## Comment 6
Author: [Borttaget]

Va kul att det är fler som tycker det låter kul ![Skrattande](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-laughing.gif "Skrattande")

Frågan är hur vi ska lägga upp detta på ett smidigt sätt! Jag använder mig av GIT som är synkad med github, så jag har alltid versionen på GitHub lokalt också.

Men vet inte hur många som kan git? Det är ju lite krånligt innan man lärt sig. En annan variant är att man laddar ner hela sajten från github till sin dator och kör den lokalt medan man ändrar, sen skickar man de filer man ändrat på till mig via mail eller nått, så lägger jag ihop updateringarna i dessa och eventuella updateringar som redan finns på github med git.

Med andra ord, det finns två alternativ:

1\. Använd git och synka med projektet på github

2\. Ladda ner hela projektet, göra det man vill och skicka filerna man ändrat till mig så sköter jag github-biten.

## Comment 7
Author: [Borttaget]

Jag kommer att slänga ihop en klass för att hantera profilinformation för användarna nu.

Information som jag gör möjligt tills vidare:

E-post

Pressentation

## Comment 8
Author: Stephanie

Jag har inte sett git förut, men får sätta mig in i det sen då.

Nu fick jag nåt mål med att bli klar med plugget för idag! ![Skrattande](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-laughing.gif "Skrattande")

## Comment 9
Author: lilacs

Vet inte om jag är tillräckligt  bra på php...  glöm inte kommentera nuvarande funktioner så att alla (jag) fattar vad de gör :p

## Comment 10
Author: [Borttaget]

#9

Jag har försökt kommentera relativt mycket och gjort lite exempel och så i de större filerna som ligger i mappen: includes/classes

Men det är bara fråga om det är något oklart så gör jag en bättre förklaring!

Det behöver inte vara något stort man behöver göra till att börja med, man kan börja med lite smågrejer och sedan göra det mer avancerat vart efter man har lust och tid!

Just nu är ju sidan ganska tråkig eftersom det knappt finns några funktioner, säg till om du vill göra någon funktion så hjälper jag till!

## Comment 11
Author: [Borttaget]

Nu går det att skriva på sin pressentation

## Comment 12
Author: lilacs

hm git var verkligen inte enkelt, lyckades göra en fork men jag kan inte hämta ändringarna du gjorde senaste halvtimmen eller skicka upp mina ändringar till min egen fork. sen måste jag visst göra en egen branch men det går inte heller :p

## Comment 13
Author: [Borttaget]

Du behöver bara skapa en ny remote till mitt arkiv och fetcha allt.

Har du kollat på denna:

[http://gitref.org/basic/#add](http://gitref.org/basic/#add)

Det är steg för steg guide hur man kommer igång. Under kategorin remote står hur man ansluter till github

## Comment 14
Author: [Borttaget]

De vanligaste kommandona:

Kolla status för vilka filer man lekt med:  
**git status -s**

Håll koll på ny fil  
**git add filnamn**

Lägg alla ändrade filer i utkorgen**  
git add -A**

Skicka utkorgen till arkivet (lokalt på datorn)  
**git commit -m 'Kommentar, vad har man gjort'**

Skicka arkivet till github  
**git push origin  
**_(Om origin är namnet på anslutningen till github)_

Synka arkiv med github  
**git fetch origin  
**_(Om origin är namnet på anslutningen till github)_

Slå samman gren som är nerhämtad från github med aktiv gren  
**git merge origin/master  
**_(Där origin är anslutningen och master grenen man vill hämta)_

Men för den som inte orkar lära sig detta går det att gå in på github via webben och tanka ner hela sajten som en .zip-fil och lägga i sin www mapp på datorn.

## Comment 15
Author: [Borttaget]

Jag är intresserad av att hjälpa till! ... Är dock mest bra på html, grafik(design) och en ypperligt bra tankespridare :)

## Comment 16
Author: [Borttaget]

#15

Design låter helt awesome!

Den designen som är nu har jag slängt ihop bara för att. Om du vill får du göra en helt ny, eller modifiera den som finns. Det är helt fritt!

## Comment 17
Author: [Borttaget]

Tänkte fixa en sista grej ikväll. (ev, sista ![Skäms](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-embarassed.gif "Skäms"))

Ladda upp avatarer.

## Comment 18
Author: [Borttaget]

#Härligt! Vill ha lite mer information om själva sidan, vad den kommer handla om och vad det hela går ut på, så jag har en mall i huvudet att gå efter! :)

## Comment 19
Author: [Borttaget]

#18

Det är lite det som är utmaningen ;\]

Sidan har ingen speciell riktning, det enda målet med sidan är att så många som möjligt ska vara med och pilla på koderna. Det kommer att bli en community med funktioner för att integrera användarna, men den kommer även fyllas med funktioner som folk helt enkelt vill programmera för skojskull.

Det kan sluta vart som helst

## Comment 20
Author: Stephanie

Kan du förklara lite snabbt hur man gör för att komma igång med GIT? ![Skäms](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-embarassed.gif "Skäms")

## Comment 21
Author: [Borttaget]

#20

Jag lärde mig det förra veckan så jag är inge vidare på det än.

Men här är steg för steg installation med bilder:  
[http://help.github.com/win-set-up-git/](http://help.github.com/win-set-up-git/)

Och här är steg för steg hur man gör:  
[http://gitref.org/basic/#add](http://gitref.org/basic/#add)

## Comment 22
Author: lilacs

petitesser... men "placeholder" fungerar inte i IE: så man ser inte vad det är för fält man fyller i.

## Comment 23
Author: Stephanie

#22 Det är väl ingen petitess då... ![Tungan ute](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif "Tungan ute")

## Comment 24
Author: lilacs

jag kan börja skissa på administrations sidorna

## Comment 25
Author: Stephanie

Jag fattar ingenting om jag ska vara ärlig! Har installerat programmet, skapat en användare, klickat på "fork" etc. Men jag vet inte vad som händer eller vad jag ska göra nu. ![Skäms](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-embarassed.gif "Skäms")

## Comment 26
Author: [Borttaget]

#22

Det är HTML5, du måste ha en gammal version av IE.

Går att fixa med javascript väldigt enkelt.

Edit: Skoja, IE har valt att strunta i att implementera placeholder. Det blir javascript för alla IE-användare.

## Comment 27
Author: lilacs

jag gav upp och laddade ner allt lokalt :p ska se om jag kan installera det...

## Comment 28
Author: [Borttaget]

#25

Pröva ladda ner lokalt så länge, jag fatta inte heller hur det funkade innan jag läst hela den där andra länken jag skickade.

![Tungan ute](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif "Tungan ute")

## Comment 29
Author: lilacs

nej ie 9 stödjer det inte.  Det är en del annat i html 5 css3 som ie inte stöder med :(   men det är sånt som går att lösa ;)

## Comment 30
Author: [Borttaget]

#29

Jo jag har hållit lite koll på referenslistan när jag kodade med måste ha missat att IE valt bort det ^^

## Comment 31
Author: [Borttaget]

Jag fixade inloggningen genom att slänga in:

<!--\[if IE\]>  Användarnamn:<br>  <!\[endif\]-->

Ovanför fälten tills vidare, det syns bara i IE

## Comment 32
Author: [Borttaget]

Nu fungerar Avatarsystemet.

Det får vara nog för ikväll!

## Comment 33
Author: [Borttaget]

Ska försöka få igång min andra burk idag som är något snabbare.. Sedan sätter jag igång med grafiken, kan även göra små ikoner (om det önskas) som man kan ha i olika kategorier?

## Comment 34
Author: lilacs

Jag har försökt göra ett installations script men säkerhet är inte min starka sida. skickar länk i em.

## Comment 35
Author: lilacs

Jag har skapat en ny mapp som heter install (i huvudkatalogen), i den ska de bifogade filerna ligga.

index.php kollar att scriptet inte är installerat redan och skriver ut ett formulär där man tillfrågas om databasnamn osv.

är allt korrekt skapas filen **FxS\_Mysql\_Config.php** med datan från formuläret.

så den får inte finnas med i grundinstallationen![Cool](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-cool.gif "Cool")

sedan skapas tabellerna i databasen.

(jag har använt mig av FxS\_User.sql och lagt till fält för avatar)

till sist hänvisas man till kontoregistreringen.

.det finns en del kvar att göra tex så är det ju ett administratörs konto som ska skapas i det läget, inte en vanlig användare.

jag har bara ändrat i två filer egentligen så jag skickar med dem här i zippen.

med denna slipper ni ( om ni har rätt behörigheter på servern... ) skapa databasen manuellt

## Comment 36
Author: [Borttaget]

#35

Snyggt! Den ligger uppe på github nu!

FxS\_Mysql\_Config.php ligger nu mer bland klasserna, dit når man enklast med konstanten: CLASS\_PATH, så jag ändrade det i din fil så att man kan lägga klasserna vart man vill och bara ändra på konstanten CLASS\_PATH i FxS\_Constants.php

Angående säkerhet så finns ett färdigt script som kan rensa indata som ska till mysql-fråga. Det ligger i FxS\_Security.php och finns inkluderat som standard.

Det används så här:

**$säker\_data = FxS\_Security::mysql\_clean($osäker\_data);**

Jag har skrivit in det i din kod också.

Det ser kalas ut! Vi får komma ihåg att uppdatera den när databasstrukturen ändras!

EDIT: Kom på att FxS\_Security kräven en fungerande databaslänk ^^ Det går att köra med mysql\_escape\_string istället. Det är nog det säkraste alternativet.

## Comment 37
Author: [Borttaget]

Angående admin-konto föresten:

FxS-systemet tillåter privlegier, som lagras i tabellen fxs\_login\_privileges.

Där kan man lägga in hur många privilegier per användare som helst.

Till exempel gör privilegiet user\_admin att man kan ändra allas avatarer och allas profil-text.

Man kan göra ett privilegie som heter super\_admin som ger privilegie till allt. Alltså när man har installerat så lägger man in användaren som vanligt samt en rad i privilegie-tabellen med värdet super\_admin.

ELLER - ENKLARE!

När man skapar tabellen i databasen lägger man till en rad i privilegie-tabellen att användare 1 ska få super\_admin som privilegie. Då får den första som registrerar sig super\_admin egenskaper.

## Comment 38
Author: [Borttaget]

**Lite sammanfattning av vad som hänt idag**

**lilacs** - har gjort en installation till databasen!

Jag har fixat ordning lite med koden för att få det lite mindre rörigt och mer effektivt. Jag har bland annat döpt om alla exception till att börja med preffixet: FxS\_Klass\_Namn\_ för att få mer ordning. Dessa är även flyttad till respektive klass-fil.

Jag har gjort en ny klass som heter FxS\_Gallery som håller koll på vilka klasser som är importerade. Som standard importeras klasserna:

FxS\_Exception (Innehåller vanliga allmänna exception)  
FxS\_Gallery  
FxS\_Mysql   
FxS\_Address  
FxS\_Template  
FxS\_User

Vill man till exempel hämta information från en användares profil måste klassen FxS\_Profile importeras. Detta görs genom den globala variabeln $FxS. Ex:

$FxS->import('FxS\_Profile');

Sen kan man leka med FxS\_Profile-klassen.

## Comment 39
Author: JonteL

Kan gärna vara med :)

Kan dock inte ett dugg om programmering - Dock är hyfsad på Photoshop och desig. Kan det vara till hjälp? :)

## Comment 40
Author: [Borttaget]

Absolut JonteL!

Just nu håller [Athinea](../users/4efd751788f472201d00bc04-athinea "Visa personlig sida för Athinea") på med en design tror jag, hon kanske vill ha hjälp med något.

Annars måste givetvis designen utvecklas när det kommer nya funktioner och då behövs designers!

## Comment 41
Author: [Borttaget]

Nu är klass-arkivet fint.

Högst upp i alla filer finns en enhetlig dokumentation över funktioner och information om hur man använder klassen i respektive fil.

## Comment 42
Author: [Borttaget]

Nu går det även att ändra lösenord och email från profilen.

Idag ska jag slänga ihop ett forum

## Comment 43
Author: Stephanie

Jag måste försöka få det där att funka ![Skrikandes](http://webbprogrammering.ifokus.se/js/lib/tiny_mce/plugins/emotions/img/smiley-yell.gif "Skrikandes") Gav upp när jag inte fattade hur man gjorde med Git.

![](http://www.google.com/uds/css/small-logo.png)

## Comment 44
Author: [Borttaget]

#43

Det verkar finnas en grafisk version för windows också:

http://nathanj.github.com/gitguide/tour.html

Då behöver man inte lära sig massa kommandon

## Comment 45
Author: [Borttaget]

Själva forumet är klart, håller på att bygga administration till det. Så man kan hantera inläggen innan jag lägger upp det online.

## Comment 46
Author: [Borttaget]

Nu har jag hunnit färdigställa grunden till forumet!

Det ligger båda på github och online, det finns ingen dokumentation till FxS\_Forum-klassen ännu, jag skapar den så fort jag får tid.

## Comment 47
Author: [Borttaget]

Jag har gjort en lite annan design för forumet för enklare anpassning i framtiden.

FxS\_Forum - klassen, är nu mer dokumenterad!

## Comment 48
Author: [Borttaget]

Nu när jag kan Git utan och innan ska jag spela in en lite videoguide som visar hur man gör. Den kommer i helgen om allt går som det skall!

## Comment 49
Author: [Borttaget]

Du har ingen skärmdump på hur sidan ser ut när den körs?
