URGENT: Need PHP Worker(repost)(repost)(repost)(repost)

I URGENTLY need php worder for a huge project which is already started (only around 5% done). It is DESKTOP (php for ALL versions of Windows) APPLICATION and NOT web application.

## Deliverables

DESKTOP APPLICATION and NOT web application. Must work through command prompt.

I urgently need php worker for a huge project. Four (4!) workers in a row scammed me because they all disappeared. I lost at least one year (counting all workers together), if not even year and half. Day after day its getting more urgent for me to get the software finished.

It would be wonderful if some experienced php worker could take full time (payment into escrow before you start) just for this. However if you are willing to bid and if you know you would need few days more than one month, please let me know but not much more comparing to 1 month (all days included, also weekends).


PLEASE NOTE: You can request to take a look at the current version of code and after that decide if you should bid or not or to decide about the bid amount. You have NO further obligation so you can also decline (choose to NOT bid) the project after viewing the code.

PLEASE ALSO NOTE: I am very fast with replying (except during night time and my timezone is gmt+1) so you can expect my reply within minutes.

PLEASE ALSO NOTE: The project description is big, VERY VERY big but this is the only way I can describe what needs to be done. So you might want to take some time reading it. If you need to ask anything, you are very welcome to ask anytime. Expect my reply fast. So here is description what is needed:

1. Fixing all the bugs found. Usually (but not always) are those bugs related to searching keyword - some words are added to the search but shouldn't be. Some aren't but should be. I will report the bugs that I found. Currently I have found three bugs; two of them relate to the fact that words that shouldn't be used into searching keyword are used. So this must be fixed so those words won't occur in the searching keyword. One bug is related to specific section of ID3v2 tags which is called ''Discogs_catalog''. Here is the download link to the free software which I use for checking (modificating / adding / removing) ID3v2 tags:

[url removed, login to view]

As you can see in the provided code, in the software must (and they are) used the following 5 sections of ID3v2 tags:

Artist Name

Track Title

Album Title



Some other tag should Never be added to the searching keyword.

Third bug is related to the tag ''Discogs_Catalog''. The entire data (not even a part of it) is currently not successfuly added to the searching keyword. In the code is hidding little bug error for this. So this should also be fix.

So far I have found those three bugs but there will be for sure many more. All bugs should be fixed. When bidding please note that fixing bugs in the code, which you haven't written (this part of code that I already provided to you), can be very very complicated.

Detailed description of those 3 bugs will be discussed later. If they base on your decision bidding or not or based on amount of bidding, please ask the question(s) as soon as possible.

2. Searching keyword is constructed based on already mentoined 5 sections of ID3v2 tags. In the keyword also occurs the words that are NOT located in any of those 5 sections of ID3v2 tags but are located in the filenames.

However nothing is yet added to the keyword from foldername. What should be added from the foldername is whatever is inbetween brackets. Those brackets can be both types:

( and )

[ and ]

Also foldername can be without the brackets. In this case, nothing from foldername is used for searching keyword.

Function in the code, that causes that same words (in the keyword) to NOT be repeated (not even twice) already works. This should remain working.

Also there is function(s) (not sure if more than one) that causes what should be always removed from keyword. Those words are in files [url removed, login to view] and file_x.txt. In the code is written some more rules about what should be removed from occuring in the keyword. It is removed successfuly.

Note: this feature (using text between brackets in the foldername) is only relevant for method one folder = one link and never for method one file = one link. The reason for this is obvious; there are no folders for method one file = one link.

VERY IMPORTANT: Text, located in between brackets (any type) in the foldername should be used into keyword ONLY in case if the following BOTH id3v2 tags are missing (no data inside):



The text which I will write under next feature (below) is also relevant for this text which is between brackets (both types) in the foldername - in case if the link, by default is NOT found.

3. Regarding Discogs_catalog section of ID3v2 tag. Of course first must be the bug that the data isn't used in the keyword fixed so this feature can be done/fixed.

For this feature (which is relevant for both methods), it might be something, inside the code, already written but it doesn't work. This third function I will show on one example because that way I will be much more understandable:

lets say that in the Discogs_catalog is the following entry: abc-150

In case (and strictly only in this case!) if the link is NOT found, then it should convert to similar entries and every time it converts, it searches for link on all 6 websites. If the link is NOT found, not even on 6th website, it converts the entry in Discogs_catalog section of ID3v2 tag again and again etc, until there are either no more possibilities or no link found. Here are few (not all, just a few to show what I mean with ''converting the Discogs_catalog entry''); If link not found with ''abc-150'' entry then try to convert it to:









[url removed, login to view]

and so on, there are more situations but I wanted to show the basic idea of what I mean with ''converting the entry''. This is only relevant for discogs_catalog ID3v2 section and not for any other ID3v2 section.

Another example:

entry is ACA 9826R-12 and if the link isn't found then try:

ACA 9826R12

ACA 9826R012

ACA 9826R0012

ACA 9826R-012

ACA 9826R-0012

ACA 9826R--12

ACA 9826R--012

ACA 9826R--0012

ACA [url removed, login to view]

ACA [url removed, login to view]

ACA [url removed, login to view]

and so on. Those are just few possibilities of different syntaxes of entry. It can be more.

If you will remove, inside the code, symbols (such as ''.'' or ''-'' and so on) its up to you but definitely never remove the zeros because it could happen something like that:

ACA 9826R-12 is equal to ACA 9826R-12


abc150 is equal either to abc15 or abc1500 abc15000


abc150 is equal to abc150.2

Of course those three examples are definiely NOT true, all of them are completely wrong. I wanted to show what kind of huge error would be if removing the zeros (or just a dot).

Same should work for feature number 2. above.

Third example:

entry in Discogs_catalog section of ID3v2 tags: aaa 1Re

So if the link is not found with this, try to convert it into one of those:


aaa 1re

aaa 1 re








and so on. Again, many different possibilities are possible.

Around a year and half ago, I have bought the script written in Python programming language where this function works perfectly. Of course you do this in PHP and not python but it might be still useful. So if you would like, just let me know and I will send you the script. Of course you would have to ''convert'' the python code (only this function) to our PHP code.

As I mentoined in second feature, same should work there (for text inside foldername's brackets if they exist)

4. This feature can be done either only for only discogs website or for all 6 (websites) - its your decision. It is totally different for methods so I will have to explain it once for method one folder = one link and once for method one file = one link:

One folder = one link:

When it says, on the webpage near ''Label:'' the word ''Not On Label'' (doesn't matter if any other word is after of before it such as ''Not On Label Word'') then providing this exact link should be avoided and further searched (on discogs and also on other 5 websites) if anything else matches the keyword. If not then this link with ''Not On Label'' is provided.


if the keyword is ''isaac waiting for bad dreams 2007'' then, by default (without this function implemented), this link might be provided:

[url removed, login to view]

After the function is implemented, the software should search with exactly the same keyword if anything else matches where there is no ''Not On Label'' near ''Label:''. If yes, provide this link instead. If no, the link (the one which I mentoined) will be provided.

Also inside (or outside - your decision but its the same part of feature) should be searched ''none'' near ''Catalog#:''. Example of this is:

[url removed, login to view]

Same as for ''Not On Label'', try to avoid this - so searching should go on. If cannot find anything else, that matches keyword, provide this link then.

One file = one link:

As you already know, because of our current project, if the link isn't found then foldername (method one folder = one link) or filename (method one file = one link) is provided.

Here in one file = one link, if near ''Label:'' says ''Not On Label'' then don't provide the link for this file, even if is found but provide the filename instead.

Regarding the ''none'' (near ''Catalog#:''), the rule is the same as in one folder = one link, so try to avoid it if something else exsist. If not, provide this one.

I will need your feedback if you have in purpose to do this just for discogs or for all 6 websites. Because if you say all 6, I will provide you also (its true you could easily find out on your own too) datas for other 5 websites if says exactly the same as on discogs so ''Label:'' or if it says ''Label Name:'' or anything else instead. Same for ''Catalog#:''. On other sites might say for example ''catid:''.

5. For this feature, I will use out of 6 websites, once more, discogs. As you can see on each link says:




Regarding Format: Another .txt file should be used and I will have it in the same folder as all others. Whatever I write there (one entry, which might be from more than one word, per one link), if it matches the entry near ''Format:'' then this folder, that would provide the link must be immediately removed from hard drive without sending it to recycle bin. Normally I will have there written only one line for which I know already. It will be the word ''mixed'' but just for the case if I decide later to put something inside this .txt file, I would like to have it (the txt file) on hard drive and not build rule within the code.

For example, please check the link:

[url removed, login to view]

if in this .txt file would be ''Cardboard Sleeve'' then this link wouldn't be provided but folder would be removed from hard drive. Whenever the folder is removed, the foldername should never be provided because the folder doesn't exsist anymore.

Regarding Style: same as for Format. Just with different name of txt file saved and near ''Style:'' instead of near ''Format:''.

Regarding Genre: for this is rule completely different and should be written within the code because it won't change. Near genre must say ''Electronic''. If it doesn't, the folder must be deleted without moving to recycle bin. If it does say this word then it doesn't matter if any other word will be near this one. In 99% of times, this word will be the only one there.

6. Roman numbers:

This is probably the most easiest and fastest one. In the code is some function that causes converting roman numbers to classical numbers and classical numbers to roman numbers. I don't know how many lines does this function have, it can be just one or two, it can be much more. However it doesn't work correctly. All I would like from you to do here is simply delete the entire function from the code because I don't want it. Just be very careful that you delete correct lines in code.

7. If the link is NOT found but in the keyword is for example word ''first'' then try to convert this word into ''1st'' and then the software should do the search again. Or if in the keyword is ''1st'' but link isn't found'', try to convert it to ''first'' and then search again for the link. Same should be for the rest until 10 including 10:

2nd = second

3rd = third

4th = fourth

5th = fifth

6th = sixth

7th = seventh

8th = eighth

9th = ninth

10th = tenth

For example of keyword:

word1 word2 word3 4th fifth word6

if the link isn't found try:

word1 word2 word3 fourth fifth word6

if the link still isn't found try:

word1 word2 word3 fourth 5th word6

if the link still isn't found try:

word1 word2 word3 4th 5th word6

8. This feature is only relevant for method one folder = one link. Another .txt file should be used. I will save it to the same folder where software will be. In the txt file will be (I might add something more later so thats why I need the txt file):
















From this list, to explain the feature, I will choose the random word which is ''lock''. Same feature should work on any other word from this exact list.

So if the word ''lock'' is in keyword but the link is NOT found then software should take those words, one by one, from this list and every time the word ''lock'' is changed, for example with ''untitled'', the search on all 6 websites should be done again on purpose to find the link.

Also what is important here is the the following subfeature to this feature:

With no matter if this feature is even performed or not (not performed = link is found by default keyword), in the ID3v2 tags must exist at least THREE out of 5 (very important!) sections. So maximum number of empty ID3v2 sections is two. If three of them are empty, then provide the foldername instead.

So what should be done before software checks if at least 3 ID3v2 tags sections are given is check in the ''Track Title'' section if there are words from just mentoined list (untitle, untitled,...). If this section is empty (this means one chance is still left - two can be empty) then try to search for the words (from this list) inside the filename(s) located in this folder.

If anywhere (either section Track Title or filename(s)) is any of those words in the list, you know that software will have to check if at least 3 ID3v2 tags sections have the datas. If not, provide the foldername and the main feature doesn't even need to run. If yes, software should first do the search with default keyword. If link is not found, software can begin with converting the words that are in this list.

9. Currently in the code is search done only on discogs. Other 5 websites have to be added:


[url removed, login to view]

[url removed, login to view]


[url removed, login to view]

Note that search must be first done on discogs (biggest priority). If the link is not found on discogs, search should be done on junodownload (second biggest priority), if the link still isn't found on junodownload, other four websites can be randomely chosen where to do the third search, where fourth and so on.

10. Currently (the code which I provided to you), I have to choose which folder/file do I want to try to find the link for. The software should automatically take all the folders/files. Two methods require two totally different locations. Here is explanation what should be included in the search:

Method one folder = one link:

Everything from C:\Presnemavanje **except**:

C:\Presnemavanje\Labels <-------- except this folder and everything what is inside

C:\Presnemavanje\Tracks <-------- except this folder and everything what is inside

C:\Presnemavanje\[url removed, login to view]

In this .txt file are mentoined some foldernames. It can be only one foldername mentoined, it can be thousands of foldernames. Number shouldn't matter. One folder per one link and all of mentoined foldernames are located in C:\Presnemavanje. So all those mentoined foldernames should also NOT be included for links searching.

Method one file = one link:

In this method should be included for searching links strictly only the following folder:


and nothing else. This folder ''Tracks'' doesn't have any subfolders. It has only files and all those files should be included for links searching.

11. Links/foldernames/filenames must be provided in the list of clickable links. All links must be in exact order - exactly the same as they (folders/files) are being searched. If link isn't found, foldername (method one folder = one link) or filename (method one file = one link) must be provided on exact location in the list. Providing foldername/filename already works, you would just need to put them in the list on exact location.

We have already discussed (our current project) what will software/I have to do once the list of clickable links is provided.

Note: I will NEVER use both methods in the same time. Thats not possible. I will check when I want to use method one folder = one link and when one file = one link.

12. This new feature should be runned if three conditions are all met:

- Publisher section of ID3v2 tag has data inside (so its NOT empty)

- the link is NOT found on discogs

If any of those two conditions isn't met then the feature won't run.

Before the search is started on junodownload, one more feature should be implemented and if, both conditions are met, runned.

The software should search inside the data of Publisher section of ID3v2 tag (only this section) for any of the following words:





<name of any country here>



The list of all countries is here: [url removed, login to view]

If any word (usually will be only one) of those 263 (257 countries + 6 remaining words = 263) exsist in Publisher section of ID3v2 tags then software should remove it from the keyword and try to search again on discogs.

If the link is found, it should be provided.

If not, the link should be searched on the rest of websites (starting with junodownload).

13. permanently (without moving to recycle bin) delete the folder(s), located on hard drive, whose foldername(s) I remove (after saving) in the list of links. The function is only relevant for method one folder = one link. So I delete the line in the list of links (in the txt file). For example:

I have the following folders:






In the list of links are the following links (where is foldername instead of link that means the link was NOT found when searching on websites):

link for folder1


link for folder3

link for folder4

link for folder5

So AFTER ( ! ) I save the .txt file (no matter as back into txt or as a html) and IF the list of links will look like (note the second line is gone):

link for folder1

link for folder3

link for folder4

link for folder5

then the folder "folder2" must be permanently deleted from hard drive. This is because I removed it from the list AND saved the list.

I will let you know where on hard drive are folders located.

14. Before the link is provided, additional function must be written. This function ensures that the number of files equals number of entries on the link which would be provided. The function is only for method one folder = one link. Explanation of what do I mean with "entries" is the following:

- website Discogs

example: [url removed, login to view]

In this example are 3 entries. Note the number of lines under "Tracklist". So in the folder, that would cause this link being provided, must be exactly 3 files. If they are 3, the link can be provided. If NOT exactly 3 that the software should continue with searching (on all websites) if something else matches Searching Keyword and has exactly 3 entries. If nothing then the foldername should be provided. Where, in the list, will be foldernames provided is not your task.

- website Junodownload

example: [url removed, login to view]

In this example are 2 entries. Note the number of lines under "Title"

- website Audiojelly

example: [url removed, login to view]

In this example are 4 entries. Note the number of lines under "Tracks In This Release"

- website [url removed, login to view]

example: [url removed, login to view]

In this example are 4 entries. Note the number of lines under "Tracks"

- website [url removed, login to view]

example: [url removed, login to view]

In this example are 4 entries. Note the number of lines under "track title"

- website [url removed, login to view]

example: http://www.somixx.com/en/eps/profile/Sacred+Heart+EP

In this example are 4 entries. Note the number of lines under "track artist(s) genre(s) price rate"

Note that on discogs there should be NO master link provided even if the keyword matches it. Example of master link is:

[url removed, login to view]

It should be always release link provided. Example of release link is:

[url removed, login to view]

15. Function that will remember to which folder does specific link belong to. The function is relevant only for method one folder = one link. In this list can also foldernames appear and also filenames. DETERMINATING FOLDERNAMES AND FILESNAMES AS WELL AS LINKS IS ALREADY CODED.

What I need done here is the function that "records" link per which folder (method one folder = one link) or per which file (method one file = one link) does it belong to. Example (for folders, same rule is for files):

I have 5 folders:






They contain different amount of files.

I have two softwares, lets call them software X (the one which is being done) and software Y (some other software).


I have folders:


[ folder2



aa folder5

List of links is then the following:

(folder1's link

[ folder2's link

[folder3's link

8folder4's link

aa folder5's link

Presuming that the [folder3's link wouldn't be found, the list of links would look like this:

(folder1's link

[folder2's link


8folder4's link

aa folder5's link

Note that in the third line is actual foldername instead of link that hasn't been found.

Software Y has also a number of features but I will mentoin only relevant one:

- picks up each link in the list of links and, based on some words that appear on the webpage of this link, it tags the foldername (so it changes its name) and filenames inside that folder. It is extremly important ( ! ) that it tags the correct folder based on the link to which it belongs. Thats why the list of links must equal (from order point of view) to the list of folders. Some of the folders are eliminated from tagging process but this doesn't matter to my question.

Also when exactly the foldernames and their files gets renamed - before or after moving of those folders (moving and NOT copying!) from one to another location of hard drive is totally irrelevant. Also if there is any dragging and dropping process involved and how do they end, after being dropped - as the folders or just as the big group of files that have been located before, in all folders together, is irrelevant.

So again: I expect that it will just make the software "remember" to which folder or file does specific link belongs. Thats all!

***I ENTERED TOO MANY CHARACHTERS IN THIS PROJECT DESCRIPTION. Vworker site allows only limited length of project description. For the rest of features (16 to 23) please download the attached file in .rar.***

Квалификация: MySQL, PHP, Архитектура ПО, Тестирование ПО, Веб-хостинг, Управление сайтами, Тестирование веб-сайтов

Показать больше you can do what you want to do, www programming org com, www how to write a report, www ask com what is your question, workers in need, worker search, worker record, words that we need to write a report, words that end in bid, why programming is important, why do we write report, why do i want to work here, which kind of software need to web programming, where we will find worker, where to get python code, where to find worker, where to find artist name, where to find artist, where is escrow, where do you get a python

О работодателе:
( 13 отзыв(-а, -ов) ) Ljubljana, Slovenia

ID проекта: #3624912

1 фрилансер в среднем готов выполнить эту работу за $501


See private message.

$510 USD за 30 дней(-я)
(37 отзывов(-а))

See private message.

$500.65 USD за 30 дней(-я)
(17 отзывов(-а))