Skip to content

urldecode fix and path mapping (for docker/devilbox) #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,16 @@ placing a link of the following kind in the markup:
print "<a href='phpstorm://open?file=$file&line=$line'>Open with PhpStorm</a>";
?>

Added in ability to path map to local files from docker/devilbox.

Edit phpstorm-url-handler file, find the following lines:

find="/shared/httpd/"

replace="/home/michael/public_html/";

change the content of the find variable with the path the files are located on docker/devilbox, and change the content of the replace variable with the path to the local files.

## Command-line usage

FILE="/path/to/filename.php"
Expand Down
10 changes: 7 additions & 3 deletions phpstorm-url-handler
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,19 @@
# @license GPL
# @author Stefan Auditor <[email protected]>

arg=${1}
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
arg=$(urldecode "${1}")
pattern=".*file(:\/\/|\=)(.*)&line=(.*)"
find="/shared/httpd/"
replace="/home/michael/public_html/";
Comment on lines +13 to +14
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't the path mapping something, that should be handled on the application side, that builds the links?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

possibly and some apps might already have this. the software i usually develop in for web applications, doesn't have it, so i added it for my own use, but decided to keep it for this PR in case anyone else needed it.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. Maybe you can also make a note in the README.md so that the user is aware of such functionality.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not too keen on putting those hard coded variables into the executable.
Might be doable via environment variables, though.



# Get the file path.
file=$(echo "${arg}" | sed -r "s/${pattern}/\2/")

file=$(echo "${file/${find}/${replace}}")
# Get the line number.
line=$(echo "${arg}" | sed -r "s/${pattern}/\3/")

# Check if phpstorm|pstorm command exist.
if type phpstorm > /dev/null; then
/usr/bin/env phpstorm --line "${line}" "${file}"
Expand Down